Commit | Line | Data |
---|---|---|
b10d79f7 | 1 | acpi= [HW,ACPI,X86,ARM64] |
03d926f8 | 2 | Advanced Configuration and Power Interface |
6a1f5471 | 3 | Format: { force | on | off | strict | noirq | rsdt | |
e58d154b | 4 | copy_dsdt } |
1da177e4 | 5 | force -- enable ACPI if default was off |
6a1f5471 | 6 | on -- enable ACPI but allow fallback to DT [arm64] |
1da177e4 LT |
7 | off -- disable ACPI if default was on |
8 | noirq -- do not use ACPI for IRQ routing | |
a9913044 | 9 | strict -- Be less tolerant of platforms that are not |
1da177e4 | 10 | strictly ACPI specification compliant. |
237889bf | 11 | rsdt -- prefer RSDT over (default) XSDT |
aa2110cb | 12 | copy_dsdt -- copy DSDT to memory |
6a1f5471 AB |
13 | For ARM64, ONLY "acpi=off", "acpi=on" or "acpi=force" |
14 | are available | |
1da177e4 | 15 | |
151f4e2b | 16 | See also Documentation/power/runtime_pm.rst, pci=noacpi |
1da177e4 | 17 | |
a1fdcc0d LB |
18 | acpi_apic_instance= [ACPI, IOAPIC] |
19 | Format: <int> | |
20 | 2: use 2nd APIC table, if available | |
21 | 1,0: use 1st APIC table | |
4e381a4f | 22 | default: 0 |
a1fdcc0d | 23 | |
c3d6de69 | 24 | acpi_backlight= [HW,ACPI] |
5fd769c2 RD |
25 | { vendor | video | native | none } |
26 | If set to vendor, prefer vendor-specific driver | |
c3d6de69 TR |
27 | (e.g. thinkpad_acpi, sony_acpi, etc.) instead |
28 | of the ACPI video.ko driver. | |
5fd769c2 RD |
29 | If set to video, use the ACPI video.ko driver. |
30 | If set to native, use the device's native backlight mode. | |
31 | If set to none, disable the ACPI backlight interface. | |
c3d6de69 | 32 | |
b2ca5dae CIK |
33 | acpi_force_32bit_fadt_addr |
34 | force FADT to use 32 bit addresses rather than the | |
35 | 64 bit X_* addresses. Some firmware have broken 64 | |
36 | bit addresses for force ACPI ignore these and use | |
37 | the older legacy 32 bit addresses. | |
38 | ||
ef69449b DB |
39 | acpica_no_return_repair [HW, ACPI] |
40 | Disable AML predefined validation mechanism | |
41 | This mechanism can repair the evaluation result to make | |
42 | the return objects more ACPI specification compliant. | |
43 | This option is useful for developers to identify the | |
44 | root cause of an AML interpreter issue when the issue | |
45 | has something to do with the repair mechanism. | |
46 | ||
a0d84a92 BH |
47 | acpi.debug_layer= [HW,ACPI,ACPI_DEBUG] |
48 | acpi.debug_level= [HW,ACPI,ACPI_DEBUG] | |
1da177e4 | 49 | Format: <int> |
a0d84a92 BH |
50 | CONFIG_ACPI_DEBUG must be enabled to produce any ACPI |
51 | debug output. Bits in debug_layer correspond to a | |
52 | _COMPONENT in an ACPI source file, e.g., | |
866d6cdf | 53 | #define _COMPONENT ACPI_EVENTS |
a0d84a92 BH |
54 | Bits in debug_level correspond to a level in |
55 | ACPI_DEBUG_PRINT statements, e.g., | |
56 | ACPI_DEBUG_PRINT((ACPI_DB_INFO, ... | |
e76f4276 | 57 | The debug_level mask defaults to "info". See |
cb1aaebe | 58 | Documentation/firmware-guide/acpi/debug.rst for more information about |
e76f4276 | 59 | debug layers and levels. |
a0d84a92 | 60 | |
e76f4276 BH |
61 | Enable processor driver info messages: |
62 | acpi.debug_layer=0x20000000 | |
a0d84a92 BH |
63 | Enable AML "Debug" output, i.e., stores to the Debug |
64 | object while interpreting AML: | |
65 | acpi.debug_layer=0xffffffff acpi.debug_level=0x2 | |
a0d84a92 BH |
66 | Enable all messages related to ACPI hardware: |
67 | acpi.debug_layer=0x2 acpi.debug_level=0xffffffff | |
68 | ||
69 | Some values produce so much output that the system is | |
70 | unusable. The "log_buf_len" parameter may be useful | |
71 | if you need to capture more output. | |
f989106c | 72 | |
ef69449b DB |
73 | acpi_enforce_resources= [ACPI] |
74 | { strict | lax | no } | |
75 | Check for resource conflicts between native drivers | |
76 | and ACPI OperationRegions (SystemIO and SystemMemory | |
77 | only). IO ports and memory declared in ACPI might be | |
78 | used by the ACPI subsystem in arbitrary AML code and | |
79 | can interfere with legacy drivers. | |
80 | strict (default): access to resources claimed by ACPI | |
81 | is denied; legacy drivers trying to access reserved | |
82 | resources will fail to bind to device using them. | |
83 | lax: access to resources claimed by ACPI is allowed; | |
84 | legacy drivers trying to access reserved resources | |
85 | will bind successfully but a warning message is logged. | |
86 | no: ACPI OperationRegions are not marked as reserved, | |
87 | no further checks are performed. | |
88 | ||
4fc0a7e8 LZ |
89 | acpi_force_table_verification [HW,ACPI] |
90 | Enable table checksum verification during early stage. | |
91 | By default, this is disabled due to x86 early mapping | |
92 | size limitation. | |
93 | ||
0cb55ad2 RD |
94 | acpi_irq_balance [HW,ACPI] |
95 | ACPI will balance active IRQs | |
96 | default in APIC mode | |
97 | ||
98 | acpi_irq_nobalance [HW,ACPI] | |
99 | ACPI will not move active IRQs (default) | |
100 | default in PIC mode | |
101 | ||
102 | acpi_irq_isa= [HW,ACPI] If irq_balance, mark listed IRQs used by ISA | |
103 | Format: <irq>,<irq>... | |
104 | ||
105 | acpi_irq_pci= [HW,ACPI] If irq_balance, clear listed IRQs for | |
106 | use by PCI | |
107 | Format: <irq>,<irq>... | |
108 | ||
6dddd7a7 | 109 | acpi_mask_gpe= [HW,ACPI] |
9c4aa1ee LZ |
110 | Due to the existence of _Lxx/_Exx, some GPEs triggered |
111 | by unsupported hardware/firmware features can result in | |
6dddd7a7 TB |
112 | GPE floodings that cannot be automatically disabled by |
113 | the GPE dispatcher. | |
9c4aa1ee LZ |
114 | This facility can be used to prevent such uncontrolled |
115 | GPE floodings. | |
a7583e72 | 116 | Format: <byte> |
9c4aa1ee | 117 | |
08e1d7c0 LZ |
118 | acpi_no_auto_serialize [HW,ACPI] |
119 | Disable auto-serialization of AML methods | |
22b5afce BM |
120 | AML control methods that contain the opcodes to create |
121 | named objects will be marked as "Serialized" by the | |
122 | auto-serialization feature. | |
08e1d7c0 LZ |
123 | This feature is enabled by default. |
124 | This option allows to turn off the feature. | |
22b5afce | 125 | |
ef69449b DB |
126 | acpi_no_memhotplug [ACPI] Disable memory hotplug. Useful for kdump |
127 | kernels. | |
128 | ||
a94e88cd LZ |
129 | acpi_no_static_ssdt [HW,ACPI] |
130 | Disable installation of static SSDTs at early boot time | |
131 | By default, SSDTs contained in the RSDT/XSDT will be | |
132 | installed automatically and they will appear under | |
133 | /sys/firmware/acpi/tables. | |
134 | This option turns off this feature. | |
135 | Note that specifying this option does not affect | |
136 | dynamic table installation which will install SSDT | |
137 | tables to /sys/firmware/acpi/tables/dynamic. | |
0cb55ad2 | 138 | |
3f9e12e0 JD |
139 | acpi_no_watchdog [HW,ACPI,WDT] |
140 | Ignore the ACPI-based watchdog interface (WDAT) and let | |
141 | a native driver control the watchdog device instead. | |
142 | ||
ef69449b DB |
143 | acpi_rsdp= [ACPI,EFI,KEXEC] |
144 | Pass the RSDP address to the kernel, mostly used | |
145 | on machines running EFI runtime service to boot the | |
146 | second kernel for kdump. | |
4dde507f | 147 | |
0cb55ad2 RD |
148 | acpi_os_name= [HW,ACPI] Tell ACPI BIOS the name of the OS |
149 | Format: To spoof as Windows 98: ="Microsoft Windows" | |
150 | ||
18d78b64 RW |
151 | acpi_rev_override [ACPI] Override the _REV object to return 5 (instead |
152 | of 2 which is mandated by ACPI 6) as the supported ACPI | |
153 | specification revision (when using this switch, it may | |
154 | be necessary to carry out a cold reboot _twice_ in a | |
155 | row to make it take effect on the platform firmware). | |
156 | ||
0cb55ad2 | 157 | acpi_osi= [HW,ACPI] Modify list of supported OS interface strings |
5dc17986 LZ |
158 | acpi_osi="string1" # add string1 |
159 | acpi_osi="!string2" # remove string2 | |
741d8128 | 160 | acpi_osi=!* # remove all strings |
5dc17986 LZ |
161 | acpi_osi=! # disable all built-in OS vendor |
162 | strings | |
a707edeb LZ |
163 | acpi_osi=!! # enable all built-in OS vendor |
164 | strings | |
0cb55ad2 RD |
165 | acpi_osi= # disable all strings |
166 | ||
5dc17986 LZ |
167 | 'acpi_osi=!' can be used in combination with single or |
168 | multiple 'acpi_osi="string1"' to support specific OS | |
169 | vendor string(s). Note that such command can only | |
170 | affect the default state of the OS vendor strings, thus | |
171 | it cannot affect the default state of the feature group | |
172 | strings and the current state of the OS vendor strings, | |
173 | specifying it multiple times through kernel command line | |
741d8128 LZ |
174 | is meaningless. This command is useful when one do not |
175 | care about the state of the feature group strings which | |
176 | should be controlled by the OSPM. | |
5dc17986 LZ |
177 | Examples: |
178 | 1. 'acpi_osi=! acpi_osi="Windows 2000"' is equivalent | |
179 | to 'acpi_osi="Windows 2000" acpi_osi=!', they all | |
180 | can make '_OSI("Windows 2000")' TRUE. | |
181 | ||
182 | 'acpi_osi=' cannot be used in combination with other | |
183 | 'acpi_osi=' command lines, the _OSI method will not | |
184 | exist in the ACPI namespace. NOTE that such command can | |
185 | only affect the _OSI support state, thus specifying it | |
186 | multiple times through kernel command line is also | |
187 | meaningless. | |
188 | Examples: | |
189 | 1. 'acpi_osi=' can make 'CondRefOf(_OSI, Local1)' | |
190 | FALSE. | |
191 | ||
741d8128 LZ |
192 | 'acpi_osi=!*' can be used in combination with single or |
193 | multiple 'acpi_osi="string1"' to support specific | |
194 | string(s). Note that such command can affect the | |
195 | current state of both the OS vendor strings and the | |
196 | feature group strings, thus specifying it multiple times | |
197 | through kernel command line is meaningful. But it may | |
198 | still not able to affect the final state of a string if | |
199 | there are quirks related to this string. This command | |
200 | is useful when one want to control the state of the | |
201 | feature group strings to debug BIOS issues related to | |
202 | the OSPM features. | |
203 | Examples: | |
204 | 1. 'acpi_osi="Module Device" acpi_osi=!*' can make | |
205 | '_OSI("Module Device")' FALSE. | |
206 | 2. 'acpi_osi=!* acpi_osi="Module Device"' can make | |
207 | '_OSI("Module Device")' TRUE. | |
208 | 3. 'acpi_osi=! acpi_osi=!* acpi_osi="Windows 2000"' is | |
209 | equivalent to | |
210 | 'acpi_osi=!* acpi_osi=! acpi_osi="Windows 2000"' | |
211 | and | |
212 | 'acpi_osi=!* acpi_osi="Windows 2000" acpi_osi=!', | |
213 | they all will make '_OSI("Windows 2000")' TRUE. | |
214 | ||
6cececfc | 215 | acpi_pm_good [X86] |
0cb55ad2 RD |
216 | Override the pmtimer bug detection: force the kernel |
217 | to assume that this machine's pmtimer latches its value | |
218 | and always returns good values. | |
219 | ||
4af94f39 RD |
220 | acpi_sci= [HW,ACPI] ACPI System Control Interrupt trigger mode |
221 | Format: { level | edge | high | low } | |
222 | ||
4af94f39 RD |
223 | acpi_skip_timer_override [HW,ACPI] |
224 | Recognize and ignore IRQ0/pin2 Interrupt Override. | |
225 | For broken nForce2 BIOS resulting in XT-PIC timer. | |
226 | ||
227 | acpi_sleep= [HW,ACPI] Sleep options | |
228 | Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig, | |
57044031 | 229 | old_ordering, nonvs, sci_force_enable, nobl } |
151f4e2b | 230 | See Documentation/power/video.rst for information on |
4af94f39 RD |
231 | s3_bios and s3_mode. |
232 | s3_beep is for debugging; it makes the PC's speaker beep | |
233 | as soon as the kernel's real-mode entry point is called. | |
234 | s4_nohwsig prevents ACPI hardware signature from being | |
235 | used during resume from hibernation. | |
236 | old_ordering causes the ACPI 1.0 ordering of the _PTS | |
237 | control method, with respect to putting devices into | |
238 | low power states, to be enforced (the ACPI 2.0 ordering | |
239 | of _PTS is used by default). | |
72ad5d77 RW |
240 | nonvs prevents the kernel from saving/restoring the |
241 | ACPI NVS memory during suspend/hibernation and resume. | |
d7f0eea9 ZR |
242 | sci_force_enable causes the kernel to set SCI_EN directly |
243 | on resume from S1/S3 (which is against the ACPI spec, | |
244 | but some broken systems don't work without it). | |
57044031 RW |
245 | nobl causes the internal blacklist of systems known to |
246 | behave incorrectly in some ways with respect to system | |
247 | suspend and resume to be ignored (use wisely). | |
4af94f39 RD |
248 | |
249 | acpi_use_timer_override [HW,ACPI] | |
250 | Use timer override. For some broken Nvidia NF5 boards | |
251 | that require a timer override, but don't have HPET | |
252 | ||
4af94f39 RD |
253 | add_efi_memmap [EFI; X86] Include EFI memory map in |
254 | kernel's map of available physical RAM. | |
255 | ||
0cb55ad2 RD |
256 | agp= [AGP] |
257 | { off | try_unsupported } | |
258 | off: disable AGP support | |
259 | try_unsupported: try to drive unsupported chipsets | |
260 | (may crash computer or cause data corruption) | |
261 | ||
bcfde334 | 262 | ALSA [HW,ALSA] |
1ca2c806 | 263 | See Documentation/sound/alsa-configuration.rst |
bcfde334 | 264 | |
d944d549 RK |
265 | alignment= [KNL,ARM] |
266 | Allow the default userspace alignment fault handler | |
267 | behaviour to be specified. Bit 0 enables warnings, | |
268 | bit 1 enables fixups, and bit 2 sends a segfault. | |
269 | ||
dfb09f9b BP |
270 | align_va_addr= [X86-64] |
271 | Align virtual addresses by clearing slice [14:12] when | |
272 | allocating a VMA at process creation time. This option | |
273 | gives you up to 3% performance improvement on AMD F15h | |
274 | machines (where it is enabled by default) for a | |
275 | CPU-intensive style benchmark, and it can vary highly in | |
276 | a microbenchmark depending on workload and compiler. | |
277 | ||
8360ee2f BP |
278 | 32: only for 32-bit processes |
279 | 64: only for 64-bit processes | |
dfb09f9b BP |
280 | on: enable for both 32- and 64-bit processes |
281 | off: disable for both 32- and 64-bit processes | |
282 | ||
55034cd6 SRRH |
283 | alloc_snapshot [FTRACE] |
284 | Allocate the ftrace snapshot buffer on boot up when the | |
285 | main buffer is allocated. This is handy if debugging | |
286 | and you need to use tracing_snapshot() on boot up, and | |
287 | do not want to use tracing_snapshot_alloc() as it needs | |
288 | to be done where GFP_KERNEL allocations are allowed. | |
289 | ||
89e0b9a3 | 290 | amd_iommu= [HW,X86-64] |
54b4cbd2 JR |
291 | Pass parameters to the AMD IOMMU driver in the system. |
292 | Possible values are: | |
afa9fdc2 FT |
293 | fullflush - enable flushing of IO/TLB entries when |
294 | they are unmapped. Otherwise they are | |
295 | flushed before they will be reused, which | |
296 | is a lot of faster | |
a5235725 JR |
297 | off - do not initialize any AMD IOMMU found in |
298 | the system | |
5abcdba4 JR |
299 | force_isolation - Force device isolation for all |
300 | devices. The IOMMU driver is not | |
301 | allowed anymore to lift isolation | |
302 | requirements as needed. This option | |
303 | does not override iommu=pt | |
afa9fdc2 | 304 | |
c099cf17 SK |
305 | amd_iommu_dump= [HW,X86-64] |
306 | Enable AMD IOMMU driver option to dump the ACPI table | |
307 | for AMD IOMMU. With this option enabled, AMD IOMMU | |
308 | driver will print ACPI tables for AMD IOMMU during | |
309 | IOMMU initialization. | |
310 | ||
3928aa3f SS |
311 | amd_iommu_intr= [HW,X86-64] |
312 | Specifies one of the following AMD IOMMU interrupt | |
313 | remapping modes: | |
314 | legacy - Use legacy interrupt remapping mode. | |
315 | vapic - Use virtual APIC mode, which allows IOMMU | |
316 | to inject interrupts directly into guest. | |
317 | This mode requires kvm-amd.avic=1. | |
318 | (Default when IOMMU HW support is present.) | |
319 | ||
1da177e4 LT |
320 | amijoy.map= [HW,JOY] Amiga joystick support |
321 | Map of devices attached to JOY0DAT and JOY1DAT | |
322 | Format: <a>,<b> | |
1752118d | 323 | See also Documentation/input/joydev/joystick.rst |
1da177e4 LT |
324 | |
325 | analog.map= [HW,JOY] Analog joystick and gamepad support | |
326 | Specifies type or capabilities of an analog joystick | |
327 | connected to one of 16 gameports | |
328 | Format: <type1>,<type2>,..<type16> | |
329 | ||
a9913044 RD |
330 | apc= [HW,SPARC] |
331 | Power management functions (SPARCstation-4/5 + deriv.) | |
1da177e4 LT |
332 | Format: noidle |
333 | Disable APC CPU standby support. SPARCstation-Fox does | |
334 | not play well with APC CPU idle - disable it if you have | |
335 | APC and your system crashes randomly. | |
336 | ||
64e05d11 | 337 | apic= [APIC,X86] Advanced Programmable Interrupt Controller |
806654a9 | 338 | Change the output verbosity while booting |
1da177e4 LT |
339 | Format: { quiet (default) | verbose | debug } |
340 | Change the amount of debugging information output | |
341 | when initialising the APIC and IO-APIC components. | |
64e05d11 DL |
342 | For X86-32, this can also be used to specify an APIC |
343 | driver name. | |
344 | Format: apic=driver_name | |
345 | Examples: apic=bigsmp | |
a9913044 | 346 | |
b7c4948e HK |
347 | apic_extnmi= [APIC,X86] External NMI delivery setting |
348 | Format: { bsp (default) | all | none } | |
349 | bsp: External NMI is delivered only to CPU 0 | |
350 | all: External NMIs are broadcast to all CPUs as a | |
351 | backup of CPU 0 | |
352 | none: External NMI is masked for all CPUs. This is | |
353 | useful so that a dump capture kernel won't be | |
354 | shot down by NMI | |
355 | ||
b0f83b28 | 356 | autoconf= [IPV6] |
19093313 | 357 | See Documentation/networking/ipv6.rst. |
b0f83b28 | 358 | |
9636bc05 CG |
359 | show_lapic= [APIC,X86] Advanced Programmable Interrupt Controller |
360 | Limit apic dumping. The parameter defines the maximal | |
361 | number of local apics being dumped. Also it is possible | |
362 | to set it to "all" by meaning -- no limit here. | |
363 | Format: { 1 (default) | 2 | ... | all }. | |
364 | The parameter valid if only apic=debug or | |
365 | apic=verbose is specified. | |
366 | Example: apic=debug show_lapic=all | |
367 | ||
1da177e4 | 368 | apm= [APM] Advanced Power Management |
71f77055 | 369 | See header of arch/x86/kernel/apm_32.c. |
1da177e4 | 370 | |
1da177e4 LT |
371 | arcrimi= [HW,NET] ARCnet - "RIM I" (entirely mem-mapped) cards |
372 | Format: <io>,<irq>,<nodeID> | |
373 | ||
93ad55b7 MZ |
374 | arm64.nobti [ARM64] Unconditionally disable Branch Target |
375 | Identification support | |
376 | ||
f8da5752 MZ |
377 | arm64.nopauth [ARM64] Unconditionally disable Pointer Authentication |
378 | support | |
379 | ||
1da177e4 LT |
380 | ataflop= [HW,M68k] |
381 | ||
382 | atarimouse= [HW,MOUSE] Atari Mouse | |
383 | ||
1da177e4 LT |
384 | atkbd.extra= [HW] Enable extra LEDs and keys on IBM RapidAccess, |
385 | EzKey and similar keyboards | |
386 | ||
387 | atkbd.reset= [HW] Reset keyboard during initialization | |
388 | ||
a9913044 RD |
389 | atkbd.set= [HW] Select keyboard code set |
390 | Format: <int> (2 = AT (default), 3 = PS/2) | |
1da177e4 LT |
391 | |
392 | atkbd.scroll= [HW] Enable scroll wheel on MS Office and similar | |
393 | keyboards | |
394 | ||
395 | atkbd.softraw= [HW] Choose between synthetic and real raw mode | |
396 | Format: <bool> (0 = real, 1 = synthetic (default)) | |
a9913044 RD |
397 | |
398 | atkbd.softrepeat= [HW] | |
399 | Use software keyboard repeat | |
1da177e4 | 400 | |
a106fb0c | 401 | audit= [KNL] Enable the audit sub-system |
11dd2666 GE |
402 | Format: { "0" | "1" | "off" | "on" } |
403 | 0 | off - kernel audit is disabled and can not be | |
404 | enabled until the next reboot | |
d7961148 EP |
405 | unset - kernel audit is initialized but disabled and |
406 | will be fully enabled by the userspace auditd. | |
11dd2666 GE |
407 | 1 | on - kernel audit is initialized and partially |
408 | enabled, storing at most audit_backlog_limit | |
409 | messages in RAM until it is fully enabled by the | |
410 | userspace auditd. | |
a106fb0c | 411 | Default: unset |
f3411cb2 | 412 | |
f910fde7 RGB |
413 | audit_backlog_limit= [KNL] Set the audit queue size limit. |
414 | Format: <int> (must be >=0) | |
415 | Default: 64 | |
416 | ||
1c532e00 AT |
417 | bau= [X86_UV] Enable the BAU on SGI UV. The default |
418 | behavior is to disable the BAU (i.e. bau=0). | |
419 | Format: { "0" | "1" } | |
420 | 0 - Disable the BAU. | |
421 | 1 - Enable the BAU. | |
422 | unset - Disable the BAU. | |
423 | ||
1da177e4 LT |
424 | baycom_epp= [HW,AX25] |
425 | Format: <io>,<mode> | |
a9913044 | 426 | |
1da177e4 LT |
427 | baycom_par= [HW,AX25] BayCom Parallel Port AX.25 Modem |
428 | Format: <io>,<mode> | |
429 | See header of drivers/net/hamradio/baycom_par.c. | |
430 | ||
a9913044 RD |
431 | baycom_ser_fdx= [HW,AX25] |
432 | BayCom Serial Port AX.25 Modem (Full Duplex Mode) | |
1da177e4 LT |
433 | Format: <io>,<irq>,<mode>[,<baud>] |
434 | See header of drivers/net/hamradio/baycom_ser_fdx.c. | |
435 | ||
a9913044 RD |
436 | baycom_ser_hdx= [HW,AX25] |
437 | BayCom Serial Port AX.25 Modem (Half Duplex Mode) | |
1da177e4 LT |
438 | Format: <io>,<irq>,<mode> |
439 | See header of drivers/net/hamradio/baycom_ser_hdx.c. | |
440 | ||
080506ad PG |
441 | blkdevparts= Manual partition parsing of block device(s) for |
442 | embedded devices based on command line input. | |
898bd37a | 443 | See Documentation/block/cmdline-partition.rst |
080506ad | 444 | |
bfe8df3d RD |
445 | boot_delay= Milliseconds to delay each printk during boot. |
446 | Values larger than 10 seconds (10000) are changed to | |
447 | no delay (0). | |
448 | Format: integer | |
449 | ||
7495e092 SRV |
450 | bootconfig [KNL] |
451 | Extended command line options can be added to an initrd | |
452 | and this will cause the kernel to look for it. | |
453 | ||
454 | See Documentation/admin-guide/bootconfig.rst | |
455 | ||
a3e2acc5 HY |
456 | bert_disable [ACPI] |
457 | Disable BERT OS support on buggy BIOSes. | |
458 | ||
1ffb8d03 AH |
459 | bgrt_disable [ACPI][X86] |
460 | Disable BGRT to avoid flickering OEM logo. | |
461 | ||
1da177e4 | 462 | bttv.card= [HW,V4L] bttv (bt848 + bt878 based grabber cards) |
a9913044 RD |
463 | bttv.radio= Most important insmod options are available as |
464 | kernel args too. | |
32e2eae2 | 465 | bttv.pll= See Documentation/admin-guide/media/bttv.rst |
395cf969 | 466 | bttv.tuner= |
1da177e4 | 467 | |
4e89a2d8 WS |
468 | bulk_remove=off [PPC] This parameter disables the use of the pSeries |
469 | firmware feature for flushing multiple hpte entries | |
470 | at a time. | |
471 | ||
1da177e4 LT |
472 | c101= [NET] Moxa C101 synchronous serial card |
473 | ||
cd4f0ef7 | 474 | cachesize= [BUGS=X86-32] Override level 2 CPU cache size detection. |
1da177e4 LT |
475 | Sometimes CPU hardware bugs make them report the cache |
476 | size incorrectly. The kernel will attempt work arounds | |
477 | to fix known problems, but for some CPUs it is not | |
478 | possible to determine what the correct size should be. | |
479 | This option provides an override for these situations. | |
480 | ||
3fc46fc9 MK |
481 | carrier_timeout= |
482 | [NET] Specifies amount of time (in seconds) that | |
483 | the kernel should wait for a network carrier. By default | |
484 | it waits 120 seconds. | |
485 | ||
ffb70f61 DK |
486 | ca_keys= [KEYS] This parameter identifies a specific key(s) on |
487 | the system trusted keyring to be used for certificate | |
488 | trust validation. | |
32c4741c | 489 | format: { id:<keyid> | builtin } |
ffb70f61 | 490 | |
fd1bb4c9 FF |
491 | cca= [MIPS] Override the kernel pages' cache coherency |
492 | algorithm. Accepted values range from 0 to 7 | |
493 | inclusive. See arch/mips/include/asm/pgtable-bits.h | |
494 | for platform specific values (SB1, Loongson3 and | |
495 | others). | |
496 | ||
6dddd7a7 | 497 | ccw_timeout_log [S390] |
8b4a503d | 498 | See Documentation/s390/common_io.rst for details. |
1da177e4 | 499 | |
6dddd7a7 | 500 | cgroup_disable= [KNL] Disable a particular controller |
8bab8dde | 501 | Format: {name of the controller(s) to disable} |
ca0bdbb5 QH |
502 | The effects of cgroup_disable=foo are: |
503 | - foo isn't auto-mounted if you mount all cgroups in | |
504 | a single hierarchy | |
505 | - foo isn't visible as an individually mountable | |
506 | subsystem | |
507 | {Currently only "memory" controller deal with this and | |
508 | cut the overhead, others just disable the usage. So | |
509 | only cgroup_disable=memory is actually worthy} | |
8bab8dde | 510 | |
3fc9c12d TH |
511 | cgroup_no_v1= [KNL] Disable cgroup controllers and named hierarchies in v1 |
512 | Format: { { controller | "all" | "named" } | |
513 | [,{ controller | "all" | "named" }...] } | |
1619b6d4 JW |
514 | Like cgroup_disable, but only applies to cgroup v1; |
515 | the blacklisted controllers remain available in cgroup2. | |
3fc9c12d TH |
516 | "all" blacklists all controllers and "named" disables |
517 | named mounts. Specifying both "all" and "named" disables | |
518 | all v1 hierarchies. | |
1619b6d4 | 519 | |
f7e1cb6e JW |
520 | cgroup.memory= [KNL] Pass options to the cgroup memory controller. |
521 | Format: <string> | |
522 | nosocket -- Disable socket memory accounting. | |
04823c83 | 523 | nokmem -- Disable kernel memory accounting. |
f7e1cb6e | 524 | |
1da177e4 LT |
525 | checkreqprot [SELINUX] Set initial checkreqprot flag value. |
526 | Format: { "0" | "1" } | |
527 | See security/selinux/Kconfig help text. | |
a9913044 RD |
528 | 0 -- check protection applied by kernel (includes |
529 | any implied execute protection). | |
1da177e4 LT |
530 | 1 -- check protection requested by application. |
531 | Default value is set via a kernel config option. | |
a9913044 | 532 | Value can be changed at runtime via |
d41415eb | 533 | /sys/fs/selinux/checkreqprot. |
e9c38f9f | 534 | Setting checkreqprot to 1 is deprecated. |
a9913044 | 535 | |
661ca0da | 536 | cio_ignore= [S390] |
8b4a503d | 537 | See Documentation/s390/common_io.rst for details. |
1e435256 OJ |
538 | clk_ignore_unused |
539 | [CLK] | |
e156ee56 MT |
540 | Prevents the clock framework from automatically gating |
541 | clocks that have not been explicitly enabled by a Linux | |
542 | device driver but are enabled in hardware at reset or | |
543 | by the bootloader/firmware. Note that this does not | |
544 | force such clocks to be always-on nor does it reserve | |
545 | those clocks in any way. This parameter is useful for | |
546 | debug and development, but should not be needed on a | |
547 | platform with proper driver support. For more | |
18bcaa4e | 548 | information, see Documentation/driver-api/clk.rst. |
661ca0da | 549 | |
cd4f0ef7 | 550 | clock= [BUGS=X86-32, HW] gettimeofday clocksource override. |
734efb46 | 551 | [Deprecated] |
3f6dee9b | 552 | Forces specified clocksource (if available) to be used |
734efb46 | 553 | when calculating gettimeofday(). If specified |
3f6dee9b | 554 | clocksource is not available, it defaults to PIT. |
1da177e4 LT |
555 | Format: { pit | tsc | cyclone | pmtmr } |
556 | ||
592913ec | 557 | clocksource= Override the default clocksource |
3d6ac984 RD |
558 | Format: <string> |
559 | Override the default clocksource and use the clocksource | |
560 | with the name specified. | |
561 | Some clocksource names to choose from, depending on | |
562 | the platform: | |
563 | [all] jiffies (this is the base, fallback clocksource) | |
564 | [ACPI] acpi_pm | |
565 | [ARM] imx_timer1,OSTS,netx_timer,mpu_timer2, | |
566 | pxa_timer,timer3,32k_counter,timer0_1 | |
9863c90f | 567 | [X86-32] pit,hpet,tsc; |
3d6ac984 RD |
568 | scx200_hrt on Geode; cyclone on IBM x440 |
569 | [MIPS] MIPS | |
570 | [PARISC] cr16 | |
571 | [S390] tod | |
572 | [SH] SuperH | |
573 | [SPARC64] tick | |
574 | [X86-64] hpet,tsc | |
575 | ||
46fd5c6b WD |
576 | clocksource.arm_arch_timer.evtstrm= |
577 | [ARM,ARM64] | |
578 | Format: <bool> | |
579 | Enable/disable the eventstream feature of the ARM | |
580 | architected timer so that code using WFE-based polling | |
581 | loops can be debugged more effectively on production | |
582 | systems. | |
583 | ||
0a4bb5e5 | 584 | clearcpuid=BITNUM[,BITNUM...] [X86] |
ac72e788 | 585 | Disable CPUID feature X for the kernel. See |
cd4d09ec | 586 | arch/x86/include/asm/cpufeatures.h for the valid bit |
07983f0e | 587 | numbers. Note the Linux specific bits are not necessarily |
ac72e788 AK |
588 | stable over kernel options, but the vendor specific |
589 | ones should be. | |
590 | Also note that user programs calling CPUID directly | |
591 | or using the feature without checking anything | |
592 | will still see it. This just prevents it from | |
593 | being used by the kernel or shown in /proc/cpuinfo. | |
594 | Also note the kernel might malfunction if you disable | |
595 | some critical bits. | |
596 | ||
5ea3b1b2 | 597 | cma=nn[MG]@[start[MG][-end[MG]]] |
c372e741 | 598 | [KNL,CMA] |
5ea3b1b2 AM |
599 | Sets the size of kernel global memory area for |
600 | contiguous memory allocations and optionally the | |
601 | placement constraint by the physical address range of | |
f0d6d1f6 JD |
602 | memory allocations. A value of 0 disables CMA |
603 | altogether. For more information, see | |
0b1abd1f | 604 | kernel/dma/contiguous.c |
c64be2bb | 605 | |
b7176c26 | 606 | cma_pernuma=nn[MG] |
bc47190d | 607 | [ARM64,KNL,CMA] |
b7176c26 BS |
608 | Sets the size of kernel per-numa memory area for |
609 | contiguous memory allocations. A value of 0 disables | |
610 | per-numa CMA altogether. And If this option is not | |
611 | specificed, the default value is 0. | |
612 | With per-numa CMA enabled, DMA users on node nid will | |
613 | first try to allocate buffer from the pernuma area | |
614 | which is located in node nid, if the allocation fails, | |
615 | they will fallback to the global default memory area. | |
c64be2bb | 616 | |
14f966e7 RJ |
617 | cmo_free_hint= [PPC] Format: { yes | no } |
618 | Specify whether pages are marked as being inactive | |
619 | when they are freed. This is used in CMO environments | |
620 | to determine OS memory pressure for page stealing by | |
621 | a hypervisor. | |
622 | Default: yes | |
623 | ||
c7909509 MS |
624 | coherent_pool=nn[KMG] [ARM,KNL] |
625 | Sets the size of memory pool for coherent, atomic dma | |
e9da6e99 | 626 | allocations, by default set to 256K. |
c7909509 | 627 | |
1da177e4 | 628 | com20020= [HW,NET] ARCnet - COM20020 chipset |
a9913044 RD |
629 | Format: |
630 | <io>[,<irq>[,<nodeID>[,<backplane>[,<ckp>[,<timeout>]]]]] | |
1da177e4 LT |
631 | |
632 | com90io= [HW,NET] ARCnet - COM90xx chipset (IO-mapped buffers) | |
633 | Format: <io>[,<irq>] | |
634 | ||
a9913044 RD |
635 | com90xx= [HW,NET] |
636 | ARCnet - COM90xx chipset (memory-mapped buffers) | |
1da177e4 LT |
637 | Format: <io>[,<irq>[,<memstart>]] |
638 | ||
639 | condev= [HW,S390] console device | |
640 | conmode= | |
a9913044 | 641 | |
1da177e4 LT |
642 | console= [KNL] Output console device and options. |
643 | ||
644 | tty<n> Use the virtual console device <n>. | |
645 | ||
646 | ttyS<n>[,options] | |
f1a1c2dc | 647 | ttyUSB0[,options] |
1da177e4 | 648 | Use the specified serial port. The options are of |
f1a1c2dc RD |
649 | the form "bbbbpnf", where "bbbb" is the baud rate, |
650 | "p" is parity ("n", "o", or "e"), "n" is number of | |
651 | bits, and "f" is flow control ("r" for RTS or | |
652 | omit it). Default is "9600n8". | |
653 | ||
e52347bd | 654 | See Documentation/admin-guide/serial-console.rst for more |
f1a1c2dc | 655 | information. See |
d9d6ef25 | 656 | Documentation/networking/netconsole.rst for an |
f1a1c2dc | 657 | alternative. |
1da177e4 | 658 | |
18a8bd94 YL |
659 | uart[8250],io,<addr>[,options] |
660 | uart[8250],mmio,<addr>[,options] | |
bd94c407 | 661 | uart[8250],mmio16,<addr>[,options] |
ca782f16 PH |
662 | uart[8250],mmio32,<addr>[,options] |
663 | uart[8250],0x<addr>[,options] | |
1da177e4 LT |
664 | Start an early, polled-mode console on the 8250/16550 |
665 | UART at the specified I/O port or MMIO address, | |
ca782f16 PH |
666 | switching to the matching ttyS device later. |
667 | MMIO inter-register address stride is either 8-bit | |
bd94c407 MY |
668 | (mmio), 16-bit (mmio16), or 32-bit (mmio32). |
669 | If none of [io|mmio|mmio16|mmio32], <addr> is assumed | |
670 | to be equivalent to 'mmio'. 'options' are specified in | |
671 | the same format described for ttyS above; if unspecified, | |
ca782f16 PH |
672 | the h/w is not re-initialized. |
673 | ||
a2fd6419 KRW |
674 | hvc<n> Use the hypervisor console device <n>. This is for |
675 | both Xen and PowerPC hypervisors. | |
1da177e4 | 676 | |
6dddd7a7 TB |
677 | If the device connected to the port is not a TTY but a braille |
678 | device, prepend "brl," before the device type, for instance | |
f7511d5f ST |
679 | console=brl,ttyS0 |
680 | For now, only VisioBraille is supported. | |
681 | ||
cca10d58 SS |
682 | console_msg_format= |
683 | [KNL] Change console messages format | |
684 | default | |
685 | By default we print messages on consoles in | |
686 | "[time stamp] text\n" format (time stamp may not be | |
687 | printed, depending on CONFIG_PRINTK_TIME or | |
688 | `printk_time' param). | |
689 | syslog | |
690 | Switch to syslog format: "<%u>[time stamp] text\n" | |
691 | IOW, each message will have a facility and loglevel | |
692 | prefix. The format is similar to one used by syslog() | |
693 | syscall, or to executing "dmesg -S --raw" or to reading | |
694 | from /proc/kmsg. | |
695 | ||
f324edc8 | 696 | consoleblank= [KNL] The console blank (screen saver) timeout in |
ac0a314c | 697 | seconds. A value of 0 disables the blank timer. |
6dddd7a7 | 698 | Defaults to 0. |
f324edc8 | 699 | |
4cb0e11b HK |
700 | coredump_filter= |
701 | [KNL] Change the default value for | |
702 | /proc/<pid>/coredump_filter. | |
cd4ca341 | 703 | See also Documentation/filesystems/proc.rst. |
4cb0e11b | 704 | |
62a31ce1 LY |
705 | coresight_cpu_debug.enable |
706 | [ARM,ARM64] | |
707 | Format: <bool> | |
708 | Enable/disable the CPU sampling based debugging. | |
709 | 0: default value, disable debugging | |
710 | 1: enable debugging at boot time | |
711 | ||
62027aea LB |
712 | cpuidle.off=1 [CPU_IDLE] |
713 | disable the cpuidle sub-system | |
714 | ||
61cb5758 RW |
715 | cpuidle.governor= |
716 | [CPU_IDLE] Name of the cpuidle governor to use. | |
717 | ||
d82f2692 LB |
718 | cpufreq.off=1 [CPU_FREQ] |
719 | disable the cpufreq sub-system | |
720 | ||
8412b456 QP |
721 | cpufreq.default_governor= |
722 | [CPU_FREQ] Name of the default cpufreq governor or | |
723 | policy to use. This governor must be registered in the | |
724 | kernel before the cpufreq driver probes. | |
725 | ||
d68921f9 LB |
726 | cpu_init_udelay=N |
727 | [X86] Delay for N microsec between assert and de-assert | |
728 | of APIC INIT to start processors. This delay occurs | |
729 | on every CPU online, such as boot, and resume from suspend. | |
730 | Default: 10000 | |
731 | ||
1da177e4 | 732 | cpcihp_generic= [HW,PCI] Generic port I/O CompactPCI driver |
a9913044 RD |
733 | Format: |
734 | <first_slot>,<last_slot>,<port>,<enum_bit>[,<debug>] | |
1da177e4 | 735 | |
6f21e646 AD |
736 | crashkernel=size[KMG][@offset[KMG]] |
737 | [KNL] Using kexec, Linux can switch to a 'crash kernel' | |
738 | upon panic. This parameter reserves the physical | |
739 | memory region [offset, offset + size] for that kernel | |
740 | image. If '@offset' is omitted, then a suitable offset | |
b9ac3849 | 741 | is selected automatically. |
be3a5b0e | 742 | [KNL, X86-64] Select a region under 4G first, and |
b9ac3849 DY |
743 | fall back to reserve region above 4G when '@offset' |
744 | hasn't been specified. | |
330d4810 | 745 | See Documentation/admin-guide/kdump/kdump.rst for further details. |
dc009d92 | 746 | |
fb391599 BW |
747 | crashkernel=range1:size1[,range2:size2,...][@offset] |
748 | [KNL] Same as above, but depends on the memory | |
749 | in the running system. The syntax of range is | |
750 | start-[end] where start and end are both | |
751 | a memory unit (amount[KMG]). See also | |
330d4810 | 752 | Documentation/admin-guide/kdump/kdump.rst for an example. |
fb391599 | 753 | |
adbc742b | 754 | crashkernel=size[KMG],high |
be3a5b0e | 755 | [KNL, X86-64] range could be above 4G. Allow kernel |
55a20ee7 YL |
756 | to allocate physical memory region from top, so could |
757 | be above 4G if system have more than 4G ram installed. | |
758 | Otherwise memory region will be allocated below 4G, if | |
759 | available. | |
760 | It will be ignored if crashkernel=X is specified. | |
adbc742b | 761 | crashkernel=size[KMG],low |
be3a5b0e | 762 | [KNL, X86-64] range under 4G. When crashkernel=X,high |
adbc742b | 763 | is passed, kernel could allocate physical memory region |
c729de8f YL |
764 | above 4G, that cause second kernel crash on system |
765 | that require some amount of low memory, e.g. swiotlb | |
c6045031 BH |
766 | requires at least 64M+32K low memory, also enough extra |
767 | low memory is needed to make sure DMA buffers for 32-bit | |
768 | devices won't run out. Kernel would try to allocate at | |
769 | at least 256M below 4G automatically. | |
c729de8f YL |
770 | This one let user to specify own low range under 4G |
771 | for second kernel instead. | |
772 | 0: to disable low allocation. | |
adbc742b | 773 | It will be ignored when crashkernel=X,high is not used |
55a20ee7 | 774 | or memory reserved is below 4G. |
c729de8f | 775 | |
9e5c9fe4 | 776 | cryptomgr.notests |
6dddd7a7 | 777 | [KNL] Disable crypto self-tests |
9e5c9fe4 | 778 | |
1da177e4 LT |
779 | cs89x0_dma= [HW,NET] |
780 | Format: <dma> | |
781 | ||
782 | cs89x0_media= [HW,NET] | |
783 | Format: { rj45 | aui | bnc } | |
a9913044 | 784 | |
8d0968cc JG |
785 | csdlock_debug= [KNL] Enable debug add-ons of cross-CPU function call |
786 | handling. When switched on, additional debug data is | |
787 | printed to the console in case a hanging CPU is | |
788 | detected, and that CPU is pinged again in order to try | |
789 | to resolve the hang situation. | |
a5aabace JG |
790 | 0: disable csdlock debugging (default) |
791 | 1: enable basic csdlock debugging (minor impact) | |
792 | ext: enable extended csdlock debugging (more impact, | |
793 | but more data) | |
8d0968cc | 794 | |
a9913044 | 795 | dasd= [HW,NET] |
1da177e4 LT |
796 | See header of drivers/s390/block/dasd_devmap.c. |
797 | ||
798 | db9.dev[2|3]= [HW,JOY] Multisystem joystick support via parallel port | |
799 | (one device per port) | |
800 | Format: <port#>,<type> | |
1752118d | 801 | See also Documentation/input/devices/joystick-parport.rst |
1da177e4 | 802 | |
6dddd7a7 | 803 | ddebug_query= [KNL,DYNAMIC_DEBUG] Enable debug messages at early boot |
787e3075 SM |
804 | time. See |
805 | Documentation/admin-guide/dynamic-debug-howto.rst for | |
29e36c9f | 806 | details. Deprecated, see dyndbg. |
a648ec05 | 807 | |
1da177e4 LT |
808 | debug [KNL] Enable kernel debugging (events log level). |
809 | ||
3672476e TH |
810 | debug_boot_weak_hash |
811 | [KNL] Enable printing [hashed] pointers early in the | |
812 | boot sequence. If enabled, we use a weak hash instead | |
813 | of siphash to hash pointers. Use this option if you are | |
814 | seeing instances of '(___ptrval___)') and need to see a | |
815 | value (hashed pointer) instead. Cryptographically | |
816 | insecure, please do not use on production kernels. | |
817 | ||
cae2ed9a | 818 | debug_locks_verbose= |
5831c0f7 PZ |
819 | [KNL] verbose locking self-tests |
820 | Format: <int> | |
cae2ed9a IM |
821 | Print debugging info while doing the locking API |
822 | self-tests. | |
5831c0f7 PZ |
823 | Bitmask for the various LOCKTYPE_ tests. Defaults to 0 |
824 | (no extra messages), setting it to -1 (all bits set) | |
825 | will print _a_lot_ more information - normally only | |
826 | useful to lockdep developers. | |
cae2ed9a | 827 | |
3ac7fe5a TG |
828 | debug_objects [KNL] Enable object debugging |
829 | ||
3e8ebb5c KM |
830 | no_debug_objects |
831 | [KNL] Disable object debugging | |
832 | ||
c0a32fc5 SG |
833 | debug_guardpage_minorder= |
834 | [KNL] When CONFIG_DEBUG_PAGEALLOC is set, this | |
835 | parameter allows control of the order of pages that will | |
836 | be intentionally kept free (and hence protected) by the | |
837 | buddy allocator. Bigger value increase the probability | |
838 | of catching random memory corruption, but reduce the | |
839 | amount of memory for normal system use. The maximum | |
840 | possible value is MAX_ORDER/2. Setting this parameter | |
841 | to 1 or 2 should be enough to identify most random | |
842 | memory corruption problems caused by bugs in kernel or | |
843 | driver code when a CPU writes to (or reads from) a | |
844 | random memory location. Note that there exists a class | |
845 | of memory corruptions problems caused by buggy H/W or | |
846 | F/W or by drivers badly programing DMA (basically when | |
847 | memory is written at bus level and the CPU MMU is | |
848 | bypassed) which are not detectable by | |
849 | CONFIG_DEBUG_PAGEALLOC, hence this option will not help | |
850 | tracking down these problems. | |
851 | ||
031bc574 | 852 | debug_pagealloc= |
3972f6bb VB |
853 | [KNL] When CONFIG_DEBUG_PAGEALLOC is set, this parameter |
854 | enables the feature at boot time. By default, it is | |
855 | disabled and the system will work mostly the same as a | |
856 | kernel built without CONFIG_DEBUG_PAGEALLOC. | |
8974558f VB |
857 | Note: to get most of debug_pagealloc error reports, it's |
858 | useful to also enable the page_owner functionality. | |
031bc574 JK |
859 | on: enable the feature |
860 | ||
a24c6f7b PE |
861 | debugfs= [KNL] This parameter enables what is exposed to userspace |
862 | and debugfs internal clients. | |
863 | Format: { on, no-mount, off } | |
864 | on: All functions are enabled. | |
865 | no-mount: | |
866 | Filesystem is not registered but kernel clients can | |
867 | access APIs and a crashkernel can be used to read | |
868 | its content. There is nothing to mount. | |
869 | off: Filesystem is not registered and clients | |
870 | get a -EPERM as result when trying to register files | |
871 | or directories within debugfs. | |
872 | This is equivalent of the runtime functionality if | |
873 | debugfs was not enabled in the kernel at all. | |
874 | Default value is set in build-time with a kernel configuration. | |
875 | ||
d3af01f1 TG |
876 | debugpat [X86] Enable PAT debugging |
877 | ||
2d27a966 | 878 | decnet.addr= [HW,NET] |
1da177e4 | 879 | Format: <area>[,<node>] |
9a69fb9c | 880 | See also Documentation/networking/decnet.rst. |
1da177e4 | 881 | |
0cb55ad2 | 882 | default_hugepagesz= |
282f4214 MK |
883 | [HW] The size of the default HugeTLB page. This is |
884 | the size represented by the legacy /proc/ hugepages | |
885 | APIs. In addition, this is the default hugetlb size | |
886 | used for shmget(), mmap() and mounting hugetlbfs | |
887 | filesystems. If not specified, defaults to the | |
888 | architecture's default huge page size. Huge page | |
889 | sizes are architecture dependent. See also | |
890 | Documentation/admin-guide/mm/hugetlbpage.rst. | |
891 | Format: size[KMG] | |
55ff9780 | 892 | |
25b4e70d RH |
893 | deferred_probe_timeout= |
894 | [KNL] Debugging option to set a timeout in seconds for | |
895 | deferred probe to give up waiting on dependencies to | |
896 | probe. Only specific dependencies (subsystems or | |
897 | drivers) that have opted in will be ignored. A timeout of 0 | |
898 | will timeout at the end of initcalls. This option will also | |
899 | dump out devices still on the deferred probe list after | |
900 | retrying. | |
901 | ||
c65e6815 MZ |
902 | dfltcc= [HW,S390] |
903 | Format: { on | off | def_only | inf_only | always } | |
904 | on: s390 zlib hardware support for compression on | |
905 | level 1 and decompression (default) | |
906 | off: No s390 zlib hardware support | |
907 | def_only: s390 zlib hardware support for deflate | |
908 | only (compression on level 1) | |
909 | inf_only: s390 zlib hardware support for inflate | |
910 | only (decompression) | |
911 | always: Same as 'on' but ignores the selected compression | |
912 | level always using hardware support (used for debugging) | |
913 | ||
1da177e4 LT |
914 | dhash_entries= [KNL] |
915 | Set number of hash buckets for dentry cache. | |
a9913044 | 916 | |
faf78829 OH |
917 | disable_1tb_segments [PPC] |
918 | Disables the use of 1TB hash page table segments. This | |
919 | causes the kernel to fall back to 256MB segments which | |
920 | can be useful when debugging issues that require an SLB | |
921 | miss to occur. | |
922 | ||
82a1b8ed NP |
923 | stress_slb [PPC] |
924 | Limits the number of kernel SLB entries, and flushes | |
925 | them frequently to increase the rate of SLB faults | |
926 | on kernel addresses. | |
927 | ||
b0f83b28 | 928 | disable= [IPV6] |
19093313 | 929 | See Documentation/networking/ipv6.rst. |
b0f83b28 | 930 | |
b5cb15d9 CR |
931 | hardened_usercopy= |
932 | [KNL] Under CONFIG_HARDENED_USERCOPY, whether | |
933 | hardening is enabled for this boot. Hardened | |
934 | usercopy checking is used to protect the kernel | |
935 | from reading or writing beyond known memory | |
936 | allocation boundaries as a proactive defense | |
937 | against bounds-checking flaws in the kernel's | |
938 | copy_to_user()/copy_from_user() interface. | |
939 | on Perform hardened usercopy checks (default). | |
940 | off Disable hardened usercopy checks. | |
941 | ||
b275bfb2 AK |
942 | disable_radix [PPC] |
943 | Disable RADIX MMU mode on POWER9 | |
944 | ||
bf6b7661 AK |
945 | radix_hcall_invalidate=on [PPC/PSERIES] |
946 | Disable RADIX GTSE feature and use hcall for TLB | |
947 | invalidate. | |
948 | ||
2275d7b5 NP |
949 | disable_tlbie [PPC] |
950 | Disable TLBIE instruction. Currently does not work | |
951 | with KVM, with HASH MMU, or with coherent accelerators. | |
952 | ||
151e0c7d HD |
953 | disable_cpu_apicid= [X86,APIC,SMP] |
954 | Format: <int> | |
955 | The number of initial APIC ID for the | |
956 | corresponding CPU to be disabled at boot, | |
957 | mostly used for the kdump 2nd kernel to | |
958 | disable BSP to wake up multiple CPUs without | |
959 | causing system reset or hang due to sending | |
960 | INIT from AP to BSP. | |
961 | ||
6dddd7a7 | 962 | disable_ddw [PPC/PSERIES] |
255bf90f | 963 | Disable Dynamic DMA Window support. Use this |
4e8b0cf4 NA |
964 | to workaround buggy firmware. |
965 | ||
b0f83b28 | 966 | disable_ipv6= [IPV6] |
19093313 | 967 | See Documentation/networking/ipv6.rst. |
b0f83b28 | 968 | |
95ffa243 | 969 | disable_mtrr_cleanup [X86] |
95ffa243 YL |
970 | The kernel tries to adjust MTRR layout from continuous |
971 | to discrete, to make X server driver able to add WB | |
0cb55ad2 | 972 | entry later. This parameter disables that. |
95ffa243 | 973 | |
093af8d7 | 974 | disable_mtrr_trim [X86, Intel and AMD only] |
99fc8d42 JB |
975 | By default the kernel will trim any uncacheable |
976 | memory out of your available memory pool based on | |
977 | MTRR settings. This parameter disables that behavior, | |
978 | possibly causing your machine to run very slowly. | |
979 | ||
6cececfc | 980 | disable_timer_pin_1 [X86] |
0cb55ad2 RD |
981 | Disable PIN 1 of APIC timer |
982 | Can be useful to work around chipset bugs. | |
983 | ||
ce14c583 PB |
984 | dis_ucode_ldr [X86] Disable the microcode loader. |
985 | ||
0cb55ad2 RD |
986 | dma_debug=off If the kernel is compiled with DMA_API_DEBUG support, |
987 | this option disables the debugging code at boot. | |
988 | ||
989 | dma_debug_entries=<number> | |
990 | This option allows to tune the number of preallocated | |
991 | entries for DMA-API debugging code. One entry is | |
992 | required per DMA-API allocation. Use this if the | |
993 | DMA-API debugging code disables itself because the | |
994 | architectural default is too low. | |
995 | ||
1745de5e JR |
996 | dma_debug_driver=<driver_name> |
997 | With this option the DMA-API debugging driver | |
998 | filter feature can be enabled at boot time. Just | |
999 | pass the driver to filter for as the parameter. | |
1000 | The filter can be disabled or changed to another | |
1001 | driver later using sysfs. | |
1002 | ||
1ea61b68 FT |
1003 | driver_async_probe= [KNL] |
1004 | List of driver names to be probed asynchronously. | |
1005 | Format: <driver_name1>,<driver_name2>... | |
1006 | ||
53fd40a9 | 1007 | drm.edid_firmware=[<connector>:]<file>[,[<connector>:]<file>] |
96206e29 BP |
1008 | Broken monitors, graphic adapters, KVMs and EDIDless |
1009 | panels may send no or incorrect EDID data sets. | |
1010 | This parameter allows to specify an EDID data sets | |
1011 | in the /lib/firmware directory that are used instead. | |
da0df92b CE |
1012 | Generic built-in EDID data sets are used, if one of |
1013 | edid/1024x768.bin, edid/1280x1024.bin, | |
1014 | edid/1680x1050.bin, or edid/1920x1080.bin is given | |
1015 | and no file with the same name exists. Details and | |
1016 | instructions how to build your own EDID data are | |
cd4ca341 | 1017 | available in Documentation/admin-guide/edid.rst. An EDID |
da0df92b CE |
1018 | data set will only be used for a particular connector, |
1019 | if its name and a colon are prepended to the EDID | |
96206e29 BP |
1020 | name. Each connector may use a unique EDID data |
1021 | set by separating the files with a comma. An EDID | |
1022 | data set with no connector name will be used for | |
1023 | any connectors not explicitly specified. | |
da0df92b | 1024 | |
1da177e4 LT |
1025 | dscc4.setup= [NET] |
1026 | ||
a2b05b7a NP |
1027 | dt_cpu_ftrs= [PPC] |
1028 | Format: {"off" | "known"} | |
1029 | Control how the dt_cpu_ftrs device-tree binding is | |
1030 | used for CPU feature discovery and setup (if it | |
1031 | exists). | |
1032 | off: Do not use it, fall back to legacy cpu table. | |
1033 | known: Do not pass through unknown features to guests | |
1034 | or userspace, only those that the kernel is aware of. | |
1035 | ||
58c5475a LW |
1036 | dump_apple_properties [X86] |
1037 | Dump name and content of EFI device properties on | |
1038 | x86 Macs. Useful for driver authors to determine | |
1039 | what data is available or for reverse-engineering. | |
1040 | ||
29e36c9f | 1041 | dyndbg[="val"] [KNL,DYNAMIC_DEBUG] |
307e3ee9 | 1042 | <module>.dyndbg[="val"] |
29e36c9f | 1043 | Enable debug messages at boot time. See |
787e3075 SM |
1044 | Documentation/admin-guide/dynamic-debug-howto.rst |
1045 | for details. | |
29e36c9f | 1046 | |
06976945 DH |
1047 | nopku [X86] Disable Memory Protection Keys CPU feature found |
1048 | in some Intel CPUs. | |
1049 | ||
307e3ee9 | 1050 | <module>.async_probe [KNL] |
f2411da7 LR |
1051 | Enable asynchronous probe on this module. |
1052 | ||
56aeeba8 MS |
1053 | early_ioremap_debug [KNL] |
1054 | Enable debug messages in early_ioremap support. This | |
1055 | is useful for tracking down temporary early mappings | |
1056 | which are not unmapped. | |
1057 | ||
0cb55ad2 | 1058 | earlycon= [KNL] Output early console device and options. |
0d3c673e | 1059 | |
e18409c0 CH |
1060 | When used with no options, the early console is |
1061 | determined by stdout-path property in device tree's | |
1062 | chosen node or the ACPI SPCR table if supported by | |
1063 | the platform. | |
5664f764 | 1064 | |
c41251b1 ST |
1065 | cdns,<addr>[,options] |
1066 | Start an early, polled-mode console on a Cadence | |
1067 | (xuartps) serial port at the specified address. Only | |
1068 | supported option is baud rate. If baud rate is not | |
1069 | specified, the serial port must already be setup and | |
1070 | configured. | |
6fa62fc4 | 1071 | |
0cb55ad2 RD |
1072 | uart[8250],io,<addr>[,options] |
1073 | uart[8250],mmio,<addr>[,options] | |
1917ac76 | 1074 | uart[8250],mmio32,<addr>[,options] |
6e63be3f | 1075 | uart[8250],mmio32be,<addr>[,options] |
ca782f16 | 1076 | uart[8250],0x<addr>[,options] |
0cb55ad2 RD |
1077 | Start an early, polled-mode console on the 8250/16550 |
1078 | UART at the specified I/O port or MMIO address. | |
16290246 | 1079 | MMIO inter-register address stride is either 8-bit |
6e63be3f NC |
1080 | (mmio) or 32-bit (mmio32 or mmio32be). |
1081 | If none of [io|mmio|mmio32|mmio32be], <addr> is assumed | |
1082 | to be equivalent to 'mmio'. 'options' are specified | |
1083 | in the same format described for "console=ttyS<n>"; if | |
ca782f16 | 1084 | unspecified, the h/w is not initialized. |
0cb55ad2 | 1085 | |
0d3c673e | 1086 | pl011,<addr> |
3b78fae7 | 1087 | pl011,mmio32,<addr> |
0d3c673e RH |
1088 | Start an early, polled-mode console on a pl011 serial |
1089 | port at the specified address. The pl011 serial port | |
1090 | must already be setup and configured. Options are not | |
3b78fae7 TT |
1091 | yet supported. If 'mmio32' is specified, then only |
1092 | the driver will use only 32-bit accessors to read/write | |
1093 | the device registers. | |
0d3c673e | 1094 | |
736d5538 AF |
1095 | meson,<addr> |
1096 | Start an early, polled-mode console on a meson serial | |
1097 | port at the specified address. The serial port must | |
1098 | already be setup and configured. Options are not yet | |
1099 | supported. | |
1100 | ||
0efe7296 SB |
1101 | msm_serial,<addr> |
1102 | Start an early, polled-mode console on an msm serial | |
1103 | port at the specified address. The serial port | |
1104 | must already be setup and configured. Options are not | |
1105 | yet supported. | |
1106 | ||
1107 | msm_serial_dm,<addr> | |
1108 | Start an early, polled-mode console on an msm serial | |
1109 | dm port at the specified address. The serial port | |
1110 | must already be setup and configured. Options are not | |
1111 | yet supported. | |
1112 | ||
e36361d7 AF |
1113 | owl,<addr> |
1114 | Start an early, polled-mode console on a serial port | |
1115 | of an Actions Semi SoC, such as S500 or S900, at the | |
1116 | specified address. The serial port must already be | |
1117 | setup and configured. Options are not yet supported. | |
1118 | ||
c10b1332 MS |
1119 | rda,<addr> |
1120 | Start an early, polled-mode console on a serial port | |
1121 | of an RDA Micro SoC, such as RDA8810PL, at the | |
1122 | specified address. The serial port must already be | |
e36361d7 AF |
1123 | setup and configured. Options are not yet supported. |
1124 | ||
82f12ab3 PD |
1125 | sbi |
1126 | Use RISC-V SBI (Supervisor Binary Interface) for early | |
1127 | console. | |
1128 | ||
d50d7269 RH |
1129 | smh Use ARM semihosting calls for early console. |
1130 | ||
b94ba032 TF |
1131 | s3c2410,<addr> |
1132 | s3c2412,<addr> | |
1133 | s3c2440,<addr> | |
1134 | s3c6400,<addr> | |
1135 | s5pv210,<addr> | |
1136 | exynos4210,<addr> | |
1137 | Use early console provided by serial driver available | |
1138 | on Samsung SoCs, requires selecting proper type and | |
1139 | a correct base address of the selected UART port. The | |
1140 | serial port must already be setup and configured. | |
1141 | Options are not yet supported. | |
1142 | ||
ec84aa0a MB |
1143 | lantiq,<addr> |
1144 | Start an early, polled-mode console on a lantiq serial | |
1145 | (lqasc) port at the specified address. The serial port | |
1146 | must already be setup and configured. Options are not | |
1147 | yet supported. | |
1148 | ||
1d59b382 SA |
1149 | lpuart,<addr> |
1150 | lpuart32,<addr> | |
1151 | Use early console provided by Freescale LP UART driver | |
1152 | found on Freescale Vybrid and QorIQ LS1021A processors. | |
1153 | A valid base address must be provided, and the serial | |
1154 | port must already be setup and configured. | |
1155 | ||
7fe068db JN |
1156 | ec_imx21,<addr> |
1157 | ec_imx6q,<addr> | |
1158 | Start an early, polled-mode, output-only console on the | |
1159 | Freescale i.MX UART at the specified address. The UART | |
1160 | must already be setup and configured. | |
1161 | ||
f7c864e7 | 1162 | ar3700_uart,<addr> |
30530791 WD |
1163 | Start an early, polled-mode console on the |
1164 | Armada 3700 serial port at the specified | |
1165 | address. The serial port must already be setup | |
1166 | and configured. Options are not yet supported. | |
1167 | ||
43f1831b KR |
1168 | qcom_geni,<addr> |
1169 | Start an early, polled-mode console on a Qualcomm | |
1170 | Generic Interface (GENI) based serial port at the | |
1171 | specified address. The serial port must already be | |
1172 | setup and configured. Options are not yet supported. | |
1173 | ||
69c1f396 AB |
1174 | efifb,[options] |
1175 | Start an early, unaccelerated console on the EFI | |
1176 | memory mapped framebuffer (if available). On cache | |
1177 | coherent non-x86 systems that use system memory for | |
1178 | the framebuffer, pass the 'ram' option so that it is | |
1179 | mapped with the correct attributes. | |
1180 | ||
09864c1c | 1181 | linflex,<addr> |
9905f32a | 1182 | Use early console provided by Freescale LINFlexD UART |
09864c1c SM |
1183 | serial driver for NXP S32V234 SoCs. A valid base |
1184 | address must be provided, and the serial port must | |
1185 | already be setup and configured. | |
1186 | ||
4ba66a97 | 1187 | earlyprintk= [X86,SH,ARM,M68k,S390] |
1da177e4 | 1188 | earlyprintk=vga |
89175cf7 | 1189 | earlyprintk=sclp |
2482a92e | 1190 | earlyprintk=xen |
1da177e4 | 1191 | earlyprintk=serial[,ttySn[,baudrate]] |
147ea091 | 1192 | earlyprintk=serial[,0x...[,baudrate]] |
ea3acb19 | 1193 | earlyprintk=ttySn[,baudrate] |
9780bc41 | 1194 | earlyprintk=dbgp[debugController#] |
d2266bbf | 1195 | earlyprintk=pciserial[,force],bus:device.function[,baudrate] |
1b5aeebf | 1196 | earlyprintk=xdbc[xhciController#] |
1da177e4 | 1197 | |
147ea091 DH |
1198 | earlyprintk is useful when the kernel crashes before |
1199 | the normal console is initialized. It is not enabled by | |
1200 | default because it has some cosmetic problems. | |
1201 | ||
a9913044 | 1202 | Append ",keep" to not disable it when the real console |
1da177e4 LT |
1203 | takes over. |
1204 | ||
72548e83 MF |
1205 | Only one of vga, efi, serial, or usb debug port can |
1206 | be used at a time. | |
1da177e4 | 1207 | |
147ea091 DH |
1208 | Currently only ttyS0 and ttyS1 may be specified by |
1209 | name. Other I/O ports may be explicitly specified | |
1210 | on some architectures (x86 and arm at least) by | |
1211 | replacing ttySn with an I/O port address, like this: | |
1212 | earlyprintk=serial,0x1008,115200 | |
1213 | You can find the port for a given device in | |
1214 | /proc/tty/driver/serial: | |
1215 | 2: uart:ST16650V2 port:00001008 irq:18 ... | |
1da177e4 LT |
1216 | |
1217 | Interaction with the standard serial driver is not | |
1218 | very good. | |
1219 | ||
72548e83 MF |
1220 | The VGA and EFI output is eventually overwritten by |
1221 | the real console. | |
1da177e4 | 1222 | |
2482a92e KRW |
1223 | The xen output can only be used by Xen PV guests. |
1224 | ||
89175cf7 HC |
1225 | The sclp output can only be used on s390. |
1226 | ||
d2266bbf FT |
1227 | The optional "force" to "pciserial" enables use of a |
1228 | PCI device even when its classcode is not of the | |
1229 | UART class. | |
1230 | ||
c700f013 CG |
1231 | edac_report= [HW,EDAC] Control how to report EDAC event |
1232 | Format: {"on" | "off" | "force"} | |
1233 | on: enable EDAC to report H/W event. May be overridden | |
1234 | by other higher priority error reporting module. | |
1235 | off: disable H/W event reporting through EDAC. | |
1236 | force: enforce the use of EDAC to report H/W event. | |
1237 | default: on. | |
1238 | ||
9731191f JW |
1239 | ekgdboc= [X86,KGDB] Allow early kernel console debugging |
1240 | ekgdboc=kbd | |
1241 | ||
25985edc | 1242 | This is designed to be used in conjunction with |
9731191f JW |
1243 | the boot argument: earlyprintk=vga |
1244 | ||
f71fc3bc DA |
1245 | This parameter works in place of the kgdboc parameter |
1246 | but can only be used if the backing tty is available | |
1247 | very early in the boot process. For early debugging | |
1248 | via a serial port see kgdboc_earlycon instead. | |
1249 | ||
1da177e4 | 1250 | edd= [EDD] |
8c4dd606 | 1251 | Format: {"off" | "on" | "skip[mbr]"} |
1da177e4 | 1252 | |
d2f7cbe7 | 1253 | efi= [EFI] |
c03f739f HS |
1254 | Format: { "debug", "disable_early_pci_dma", |
1255 | "nochunk", "noruntime", "nosoftreserve", | |
fb1201ae | 1256 | "novamap", "no_disable_early_pci_dma" } |
c03f739f HS |
1257 | debug: enable misc debug output. |
1258 | disable_early_pci_dma: disable the busmaster bit on all | |
1259 | PCI bridges while in the EFI boot stub. | |
5a17dae4 MF |
1260 | nochunk: disable reading files in "chunks" in the EFI |
1261 | boot stub, as chunking can cause problems with some | |
1262 | firmware implementations. | |
5ae3683c | 1263 | noruntime : disable EFI runtime services support |
b617c526 DW |
1264 | nosoftreserve: The EFI_MEMORY_SP (Specific Purpose) |
1265 | attribute may cause the kernel to reserve the | |
1266 | memory range for a memory mapping driver to | |
1267 | claim. Specify efi=nosoftreserve to disable this | |
1268 | reservation and treat the memory by its base type | |
1269 | (i.e. EFI_CONVENTIONAL_MEMORY / "System RAM"). | |
c03f739f | 1270 | novamap: do not call SetVirtualAddressMap(). |
4444f854 MG |
1271 | no_disable_early_pci_dma: Leave the busmaster bit set |
1272 | on all PCI bridges while in the EFI boot stub | |
d2f7cbe7 | 1273 | |
8c58bf3e RW |
1274 | efi_no_storage_paranoia [EFI; X86] |
1275 | Using this parameter you can use more than 50% of | |
1276 | your efi variable storage. Use this parameter only if | |
1277 | you are really sure that your UEFI does sane gc and | |
1278 | fulfills the spec otherwise your board may brick. | |
1279 | ||
0f96a99d TI |
1280 | efi_fake_mem= nn[KMG]@ss[KMG]:aa[,nn[KMG]@ss[KMG]:aa,..] [EFI; X86] |
1281 | Add arbitrary attribute to specific memory range by | |
1282 | updating original EFI memory map. | |
1283 | Region of memory which aa attribute is added to is | |
1284 | from ss to ss+nn. | |
199c8471 | 1285 | |
0f96a99d TI |
1286 | If efi_fake_mem=2G@4G:0x10000,2G@0x10a0000000:0x10000 |
1287 | is specified, EFI_MEMORY_MORE_RELIABLE(0x10000) | |
1288 | attribute is added to range 0x100000000-0x180000000 and | |
1289 | 0x10a0000000-0x1120000000. | |
1290 | ||
199c8471 DW |
1291 | If efi_fake_mem=8G@9G:0x40000 is specified, the |
1292 | EFI_MEMORY_SP(0x40000) attribute is added to | |
1293 | range 0x240000000-0x43fffffff. | |
1294 | ||
0f96a99d | 1295 | Using this parameter you can do debugging of EFI memmap |
199c8471 | 1296 | related features. For example, you can do debugging of |
0f96a99d | 1297 | Address Range Mirroring feature even if your box |
199c8471 DW |
1298 | doesn't support it, or mark specific memory as |
1299 | "soft reserved". | |
0f96a99d | 1300 | |
475fb4e8 OP |
1301 | efivar_ssdt= [EFI; X86] Name of an EFI variable that contains an SSDT |
1302 | that is to be dynamically loaded by Linux. If there are | |
1303 | multiple variables with the same name but with different | |
1304 | vendor GUIDs, all of them will be loaded. See | |
cb1aaebe | 1305 | Documentation/admin-guide/acpi/ssdt-overlays.rst for details. |
475fb4e8 OP |
1306 | |
1307 | ||
1da177e4 LT |
1308 | eisa_irq_edge= [PARISC,HW] |
1309 | See header of drivers/parisc/eisa.c. | |
1310 | ||
cd4f0ef7 | 1311 | elanfreq= [X86-32] |
1da177e4 | 1312 | See comment before function elanfreq_setup() in |
71f77055 | 1313 | arch/x86/kernel/cpu/cpufreq/elanfreq.c. |
1da177e4 | 1314 | |
d3bf3795 | 1315 | elfcorehdr=[size[KMG]@]offset[KMG] [IA64,PPC,SH,X86,S390] |
a9913044 | 1316 | Specifies physical address of start of kernel core |
d3bf3795 MH |
1317 | image elf header and optionally the size. Generally |
1318 | kexec loader will pass this option to capture kernel. | |
330d4810 | 1319 | See Documentation/admin-guide/kdump/kdump.rst for details. |
1da177e4 | 1320 | |
0cb55ad2 RD |
1321 | enable_mtrr_cleanup [X86] |
1322 | The kernel tries to adjust MTRR layout from continuous | |
1323 | to discrete, to make X server driver able to add WB | |
1324 | entry later. This parameter enables that. | |
1325 | ||
ca1eda2d | 1326 | enable_timer_pin_1 [X86] |
0cb55ad2 RD |
1327 | Enable PIN 1 of APIC timer |
1328 | Can be useful to work around chipset bugs | |
1329 | (in particular on some ATI chipsets). | |
1330 | The kernel tries to set a reasonable default. | |
1331 | ||
1da177e4 LT |
1332 | enforcing [SELINUX] Set initial enforcing status. |
1333 | Format: {"0" | "1"} | |
1334 | See security/selinux/Kconfig help text. | |
1335 | 0 -- permissive (log only, no denials). | |
1336 | 1 -- enforcing (deny and log). | |
1337 | Default value is 0. | |
d41415eb SS |
1338 | Value can be changed at runtime via |
1339 | /sys/fs/selinux/enforce. | |
1da177e4 | 1340 | |
a08f82d0 HY |
1341 | erst_disable [ACPI] |
1342 | Disable Error Record Serialization Table (ERST) | |
1343 | support. | |
1344 | ||
1da177e4 LT |
1345 | ether= [HW,NET] Ethernet cards parameters |
1346 | This option is obsoleted by the "netdev=" option, which | |
1347 | has equivalent usage. See its documentation for details. | |
1348 | ||
7102ebcd MZ |
1349 | evm= [EVM] |
1350 | Format: { "fix" } | |
1351 | Permit 'security.evm' to be updated regardless of | |
1352 | current integrity status. | |
1353 | ||
de1ba09b | 1354 | failslab= |
2c739ced | 1355 | fail_usercopy= |
de1ba09b AM |
1356 | fail_page_alloc= |
1357 | fail_make_request=[KNL] | |
1358 | General fault injection mechanism. | |
1359 | Format: <interval>,<probability>,<space>,<times> | |
395cf969 | 1360 | See also Documentation/fault-injection/. |
de1ba09b | 1361 | |
316cdaa1 MB |
1362 | fb_tunnels= [NET] |
1363 | Format: { initns | none } | |
1364 | See Documentation/admin-guide/sysctl/net.rst for | |
1365 | fb_tunnels_only_for_init_ns | |
1366 | ||
1da177e4 | 1367 | floppy= [HW] |
e7751617 | 1368 | See Documentation/admin-guide/blockdev/floppy.rst. |
1da177e4 | 1369 | |
f13ae30e AC |
1370 | force_pal_cache_flush |
1371 | [IA-64] Avoid check_sal_cache_flush which may hang on | |
1372 | buggy SAL_CACHE_FLUSH implementations. Using this | |
1373 | parameter will force ia64_sal_cache_flush to call | |
1374 | ia64_pal_cache_flush instead of SAL_CACHE_FLUSH. | |
1375 | ||
6dddd7a7 | 1376 | forcepae [X86-32] |
69f2366c CB |
1377 | Forcefully enable Physical Address Extension (PAE). |
1378 | Many Pentium M systems disable PAE but may have a | |
1379 | functionally usable PAE implementation. | |
1380 | Warning: use of this parameter will taint the kernel | |
1381 | and may cause unknown problems. | |
1382 | ||
d9e54076 | 1383 | ftrace=[tracer] |
2af15d6a | 1384 | [FTRACE] will set and start the specified tracer |
d9e54076 PZ |
1385 | as early as possible in order to facilitate early |
1386 | boot debugging. | |
1387 | ||
cecbca96 | 1388 | ftrace_dump_on_oops[=orig_cpu] |
2af15d6a | 1389 | [FTRACE] will dump the trace buffers on oops. |
cecbca96 FW |
1390 | If no parameter is passed, ftrace will dump |
1391 | buffers of all CPUs, but if you pass orig_cpu, it will | |
1392 | dump only the buffer of the CPU that triggered the | |
1393 | oops. | |
2af15d6a SR |
1394 | |
1395 | ftrace_filter=[function-list] | |
1396 | [FTRACE] Limit the functions traced by the function | |
25942e5e | 1397 | tracer at boot up. function-list is a comma-separated |
2af15d6a SR |
1398 | list of functions. This list can be changed at run |
1399 | time by the set_ftrace_filter file in the debugfs | |
16290246 | 1400 | tracing directory. |
2af15d6a SR |
1401 | |
1402 | ftrace_notrace=[function-list] | |
1403 | [FTRACE] Do not trace the functions specified in | |
1404 | function-list. This list can be changed at run time | |
1405 | by the set_ftrace_notrace file in the debugfs | |
1406 | tracing directory. | |
d9e54076 | 1407 | |
369bc18f SA |
1408 | ftrace_graph_filter=[function-list] |
1409 | [FTRACE] Limit the top level callers functions traced | |
1410 | by the function graph tracer at boot up. | |
25942e5e | 1411 | function-list is a comma-separated list of functions |
369bc18f SA |
1412 | that can be changed at run time by the |
1413 | set_graph_function file in the debugfs tracing directory. | |
1414 | ||
0d7d9a16 NK |
1415 | ftrace_graph_notrace=[function-list] |
1416 | [FTRACE] Do not trace from the functions specified in | |
25942e5e | 1417 | function-list. This list is a comma-separated list of |
0d7d9a16 NK |
1418 | functions that can be changed at run time by the |
1419 | set_graph_notrace file in the debugfs tracing directory. | |
1420 | ||
65a50c65 TB |
1421 | ftrace_graph_max_depth=<uint> |
1422 | [FTRACE] Used with the function graph tracer. This is | |
1423 | the max depth it will trace into a function. This value | |
1424 | can be changed at run time by the max_graph_depth file | |
1425 | in the tracefs tracing directory. default: 0 (no limit) | |
1426 | ||
8375e74f SK |
1427 | fw_devlink= [KNL] Create device links between consumer and supplier |
1428 | devices by scanning the firmware to infer the | |
1429 | consumer/supplier relationships. This feature is | |
1430 | especially useful when drivers are loaded as modules as | |
1431 | it ensures proper ordering of tasks like device probing | |
1432 | (suppliers first, then consumers), supplier boot state | |
1433 | clean up (only after all consumers have probed), | |
1434 | suspend/resume & runtime PM (consumers first, then | |
1435 | suppliers). | |
1436 | Format: { off | permissive | on | rpm } | |
1437 | off -- Don't create device links from firmware info. | |
1438 | permissive -- Create device links from firmware info | |
1439 | but use it only for ordering boot state clean | |
1440 | up (sync_state() calls). | |
1441 | on -- Create device links from firmware info and use it | |
1442 | to enforce probe and suspend/resume ordering. | |
1443 | rpm -- Like "on", but also use to order runtime PM. | |
1444 | ||
19d0f5f6 SK |
1445 | fw_devlink.strict=<bool> |
1446 | [KNL] Treat all inferred dependencies as mandatory | |
1447 | dependencies. This only applies for fw_devlink=on|rpm. | |
1448 | Format: <bool> | |
1449 | ||
1da177e4 LT |
1450 | gamecon.map[2|3]= |
1451 | [HW,JOY] Multisystem joystick and NES/SNES/PSX pad | |
1452 | support via parallel port (up to 5 devices per port) | |
1453 | Format: <port#>,<pad1>,<pad2>,<pad3>,<pad4>,<pad5> | |
1752118d | 1454 | See also Documentation/input/devices/joystick-parport.rst |
1da177e4 LT |
1455 | |
1456 | gamma= [HW,DRM] | |
1457 | ||
be3a5b0e | 1458 | gart_fix_e820= [X86-64] disable the fix e820 for K8 GART |
aaf23042 YL |
1459 | Format: off | on |
1460 | default: on | |
1461 | ||
2521f2c2 PO |
1462 | gcov_persist= [GCOV] When non-zero (default), profiling data for |
1463 | kernel modules is saved and remains accessible via | |
1464 | debugfs, even when the module is unloaded/reloaded. | |
1465 | When zero, profiling data is discarded and associated | |
1466 | debugfs files are removed at module unload time. | |
1467 | ||
47512cfd TG |
1468 | goldfish [X86] Enable the goldfish android emulator platform. |
1469 | Don't use this when you are not running on the | |
1470 | android emulator | |
1471 | ||
3eb52226 AD |
1472 | gpio-mockup.gpio_mockup_ranges |
1473 | [HW] Sets the ranges of gpiochip of for this device. | |
1474 | Format: <start1>,<end1>,<start2>,<end2>... | |
6984a320 AD |
1475 | gpio-mockup.gpio_mockup_named_lines |
1476 | [HW] Let the driver know GPIO lines should be named. | |
3eb52226 | 1477 | |
1da177e4 | 1478 | gpt [EFI] Forces disk with valid GPT signature but |
6c5de79b DB |
1479 | invalid Protective MBR to be treated as GPT. If the |
1480 | primary GPT is corrupted, it enables the backup/alternate | |
1481 | GPT to be used instead. | |
1da177e4 | 1482 | |
6cec9b07 AL |
1483 | grcan.enable0= [HW] Configuration of physical interface 0. Determines |
1484 | the "Enable 0" bit of the configuration register. | |
1485 | Format: 0 | 1 | |
1486 | Default: 0 | |
1487 | grcan.enable1= [HW] Configuration of physical interface 1. Determines | |
1488 | the "Enable 0" bit of the configuration register. | |
1489 | Format: 0 | 1 | |
1490 | Default: 0 | |
1491 | grcan.select= [HW] Select which physical interface to use. | |
1492 | Format: 0 | 1 | |
1493 | Default: 0 | |
1494 | grcan.txsize= [HW] Sets the size of the tx buffer. | |
1495 | Format: <unsigned int> such that (txsize & ~0x1fffc0) == 0. | |
1496 | Default: 1024 | |
1497 | grcan.rxsize= [HW] Sets the size of the rx buffer. | |
1498 | Format: <unsigned int> such that (rxsize & ~0x1fffc0) == 0. | |
1499 | Default: 1024 | |
1500 | ||
55537871 JK |
1501 | hardlockup_all_cpu_backtrace= |
1502 | [KNL] Should the hard-lockup detector generate | |
1503 | backtraces on all cpus. | |
f117955a | 1504 | Format: 0 | 1 |
55537871 | 1505 | |
1da177e4 LT |
1506 | hashdist= [KNL,NUMA] Large hashes allocated during boot |
1507 | are distributed across NUMA nodes. Defaults on | |
16290246 | 1508 | for 64-bit NUMA, off otherwise. |
a9913044 | 1509 | Format: 0 | 1 (for off | on) |
1da177e4 LT |
1510 | |
1511 | hcl= [IA-64] SGI's Hardware Graph compatibility layer | |
1512 | ||
1513 | hd= [EIDE] (E)IDE hard drive subsystem geometry | |
1514 | Format: <cyl>,<head>,<sect> | |
1515 | ||
ea8c071c HY |
1516 | hest_disable [ACPI] |
1517 | Disable Hardware Error Source Table (HEST) support; | |
1518 | corresponding firmware-first mode error processing | |
1519 | logic will be disabled. | |
1520 | ||
1da177e4 LT |
1521 | highmem=nn[KMG] [KNL,BOOT] forces the highmem zone to have an exact |
1522 | size of <nn>. This works even on boxes that have no | |
1523 | highmem otherwise. This also works to reduce highmem | |
1524 | size on bigger boxes. | |
1525 | ||
54cdfdb4 TG |
1526 | highres= [KNL] Enable/disable high resolution timer mode. |
1527 | Valid parameters: "on", "off" | |
1528 | Default: "on" | |
1529 | ||
0cb55ad2 RD |
1530 | hlt [BUGS=ARM,SH] |
1531 | ||
1532 | hpet= [X86-32,HPET] option to control HPET usage | |
1533 | Format: { enable (default) | disable | force | | |
1534 | verbose } | |
1535 | disable: disable HPET and use PIT instead | |
1536 | force: allow force enabled of undocumented chips (ICH4, | |
1537 | VIA, nVidia) | |
1538 | verbose: show contents of HPET registers during setup | |
1539 | ||
3d035f58 PB |
1540 | hpet_mmap= [X86, HPET_MMAP] Allow userspace to mmap HPET |
1541 | registers. Default set by CONFIG_HPET_MMAP_DEFAULT. | |
1542 | ||
bc47190d | 1543 | hugetlb_cma= [HW,CMA] The size of a CMA area used for allocation |
cf11e85f RG |
1544 | of gigantic hugepages. |
1545 | Format: nn[KMGTPE] | |
1546 | ||
bc47190d RD |
1547 | Reserve a CMA area of given size and allocate gigantic |
1548 | hugepages using the CMA allocator. If enabled, the | |
cf11e85f RG |
1549 | boot-time allocation of gigantic hugepages is skipped. |
1550 | ||
282f4214 MK |
1551 | hugepages= [HW] Number of HugeTLB pages to allocate at boot. |
1552 | If this follows hugepagesz (below), it specifies | |
1553 | the number of pages of hugepagesz to be allocated. | |
1554 | If this is the first HugeTLB parameter on the command | |
1555 | line, it specifies the number of pages to allocate for | |
1556 | the default huge page size. See also | |
1557 | Documentation/admin-guide/mm/hugetlbpage.rst. | |
1558 | Format: <integer> | |
1559 | ||
1560 | hugepagesz= | |
1561 | [HW] The size of the HugeTLB pages. This is used in | |
1562 | conjunction with hugepages (above) to allocate huge | |
1563 | pages of a specific size at boot. The pair | |
1564 | hugepagesz=X hugepages=Y can be specified once for | |
1565 | each supported huge page size. Huge page sizes are | |
1566 | architecture dependent. See also | |
1567 | Documentation/admin-guide/mm/hugetlbpage.rst. | |
1568 | Format: size[KMG] | |
6902aa84 | 1569 | |
a49d9c0a OS |
1570 | hung_task_panic= |
1571 | [KNL] Should the hung task detector generate panics. | |
f117955a | 1572 | Format: 0 | 1 |
cef7125d | 1573 | |
b467f3ef | 1574 | A value of 1 instructs the kernel to panic when a |
a49d9c0a OS |
1575 | hung task is detected. The default value is controlled |
1576 | by the CONFIG_BOOTPARAM_HUNG_TASK_PANIC build-time | |
1577 | option. The value selected by this boot parameter can | |
1578 | be changed later by the kernel.hung_task_panic sysctl. | |
1579 | ||
6dddd7a7 TB |
1580 | hvc_iucv= [S390] Number of z/VM IUCV hypervisor console (HVC) |
1581 | terminal devices. Valid values: 0..8 | |
1582 | hvc_iucv_allow= [S390] Comma-separated list of z/VM user IDs. | |
1583 | If specified, z/VM IUCV HVC accepts connections | |
1584 | from listed z/VM user IDs only. | |
3a025de6 YS |
1585 | |
1586 | hv_nopvspin [X86,HYPER_V] Disables the paravirt spinlock optimizations | |
1587 | which allow the hypervisor to 'idle' the | |
1588 | guest on lock contention. | |
1589 | ||
7bf69395 FDN |
1590 | keep_bootcon [KNL] |
1591 | Do not unregister boot console at start. This is only | |
1592 | useful for debugging when something happens in the window | |
1593 | between unregistering the boot console and initializing | |
1594 | the real console. | |
1595 | ||
6dddd7a7 TB |
1596 | i2c_bus= [HW] Override the default board specific I2C bus speed |
1597 | or register an additional I2C bus that is not | |
1598 | registered from board initialization code. | |
1599 | Format: | |
1600 | <bus_id>,<clkrate> | |
3a853fb9 | 1601 | |
36d95739 | 1602 | i8042.debug [HW] Toggle i8042 debug mode |
e1443d28 SCP |
1603 | i8042.unmask_kbd_data |
1604 | [HW] Enable printing of interrupt data from the KBD port | |
1605 | (disabled by default, and as a pre-condition | |
1606 | requires that i8042.debug=1 be enabled) | |
1da177e4 | 1607 | i8042.direct [HW] Put keyboard port into non-translated mode |
84eb8d06 ML |
1608 | i8042.dumbkbd [HW] Pretend that controller can only read data from |
1609 | keyboard and cannot control its state | |
1da177e4 LT |
1610 | (Don't attempt to blink the leds) |
1611 | i8042.noaux [HW] Don't check for auxiliary (== mouse) port | |
945ef0d4 | 1612 | i8042.nokbd [HW] Don't check/create keyboard port |
75d08c78 JK |
1613 | i8042.noloop [HW] Disable the AUX Loopback command while probing |
1614 | for the AUX port | |
1da177e4 | 1615 | i8042.nomux [HW] Don't check presence of an active multiplexing |
e55a3366 | 1616 | controller |
1da177e4 LT |
1617 | i8042.nopnp [HW] Don't use ACPIPnP / PnPBIOS to discover KBD/AUX |
1618 | controllers | |
24775d65 | 1619 | i8042.notimeout [HW] Ignore timeout condition signalled by controller |
930e1924 MPS |
1620 | i8042.reset [HW] Reset the controller during init, cleanup and |
1621 | suspend-to-ram transitions, only during s2r | |
1622 | transitions, or never reset | |
1623 | Format: { 1 | Y | y | 0 | N | n } | |
1624 | 1, Y, y: always reset controller | |
1625 | 0, N, n: don't ever reset controller | |
1626 | Default: only on s2r transitions on x86; most other | |
1627 | architectures force reset to be always executed | |
1da177e4 | 1628 | i8042.unlock [HW] Unlock (ignore) the keylock |
6dddd7a7 | 1629 | i8042.kbdreset [HW] Reset device connected to KBD port |
1da177e4 LT |
1630 | |
1631 | i810= [HW,DRM] | |
1632 | ||
e70c9d5e DT |
1633 | i8k.ignore_dmi [HW] Continue probing hardware even if DMI data |
1634 | indicates that the driver is running on unsupported | |
1635 | hardware. | |
1da177e4 LT |
1636 | i8k.force [HW] Activate i8k driver even if SMM BIOS signature |
1637 | does not match list of supported models. | |
1638 | i8k.power_status | |
1639 | [HW] Report power status in /proc/i8k | |
1640 | (disabled by default) | |
1641 | i8k.restricted [HW] Allow controlling fans only if SYS_ADMIN | |
1642 | capability is set. | |
1643 | ||
4dca20ef | 1644 | i915.invert_brightness= |
7bd90909 CE |
1645 | [DRM] Invert the sense of the variable that is used to |
1646 | set the brightness of the panel backlight. Normally a | |
4dca20ef CE |
1647 | brightness value of 0 indicates backlight switched off, |
1648 | and the maximum of the brightness value sets the backlight | |
1649 | to maximum brightness. If this parameter is set to 0 | |
1650 | (default) and the machine requires it, or this parameter | |
1651 | is set to 1, a brightness value of 0 sets the backlight | |
1652 | to maximum brightness, and the maximum of the brightness | |
1653 | value switches the backlight off. | |
1654 | -1 -- never invert brightness | |
1655 | 0 -- machine default | |
1656 | 1 -- force brightness inversion | |
7bd90909 | 1657 | |
1da177e4 LT |
1658 | icn= [HW,ISDN] |
1659 | Format: <io>[,<membase>[,<icn_id>[,<icn_id2>]]] | |
1660 | ||
0af80c04 DF |
1661 | ide-core.nodma= [HW] (E)IDE subsystem |
1662 | Format: =0.0 to prevent dma on hda, =0.1 hdb =1.0 hdc | |
075affcb BZ |
1663 | .vlb_clock .pci_clock .noflush .nohpa .noprobe .nowerr |
1664 | .cdrom .chs .ignore_cable are additional options | |
d7b461c5 | 1665 | See Documentation/ide/ide.rst. |
1da177e4 | 1666 | |
0f8b7f5d MR |
1667 | ide-generic.probe-mask= [HW] (E)IDE subsystem |
1668 | Format: <int> | |
1669 | Probe mask for legacy ISA IDE ports. Depending on | |
1670 | platform up to 6 ports are supported, enabled by | |
1671 | setting corresponding bits in the mask to 1. The | |
1672 | default value is 0x0, which has a special meaning. | |
1673 | On systems that have PCI, it triggers scanning the | |
1674 | PCI bus for the first and the second port, which | |
1675 | are then probed. On systems without PCI the value | |
1676 | of 0x0 enables probing the two first ports as if it | |
1677 | was 0x3. | |
1678 | ||
0cb55ad2 RD |
1679 | ide-pci-generic.all-generic-ide [HW] (E)IDE subsystem |
1680 | Claim all unknown PCI IDE storage controllers. | |
1681 | ||
f039b754 | 1682 | idle= [X86] |
69fb3676 | 1683 | Format: idle=poll, idle=halt, idle=nomwait |
ada9cfdd RD |
1684 | Poll forces a polling idle loop that can slightly |
1685 | improve the performance of waking up a idle CPU, but | |
1686 | will use a lot of power and make the system run hot. | |
1687 | Not recommended. | |
ada9cfdd | 1688 | idle=halt: Halt is forced to be used for CPU idle. |
c1e3b377 | 1689 | In such case C2/C3 won't be used again. |
ada9cfdd | 1690 | idle=nomwait: Disable mwait for CPU C-states |
a9913044 | 1691 | |
03d939c7 DJ |
1692 | idxd.sva= [HW] |
1693 | Format: <bool> | |
1694 | Allow force disabling of Shared Virtual Memory (SVA) | |
1695 | support for the idxd driver. By default it is set to | |
1696 | true (1). | |
1697 | ||
503943e0 MR |
1698 | ieee754= [MIPS] Select IEEE Std 754 conformance mode |
1699 | Format: { strict | legacy | 2008 | relaxed } | |
1700 | Default: strict | |
1701 | ||
1702 | Choose which programs will be accepted for execution | |
1703 | based on the IEEE 754 NaN encoding(s) supported by | |
1704 | the FPU and the NaN encoding requested with the value | |
1705 | of an ELF file header flag individually set by each | |
1706 | binary. Hardware implementations are permitted to | |
1707 | support either or both of the legacy and the 2008 NaN | |
1708 | encoding mode. | |
1709 | ||
1710 | Available settings are as follows: | |
1711 | strict accept binaries that request a NaN encoding | |
1712 | supported by the FPU | |
1713 | legacy only accept legacy-NaN binaries, if supported | |
1714 | by the FPU | |
1715 | 2008 only accept 2008-NaN binaries, if supported | |
1716 | by the FPU | |
1717 | relaxed accept any binaries regardless of whether | |
1718 | supported by the FPU | |
1719 | ||
1720 | The FPU emulator is always able to support both NaN | |
1721 | encodings, so if no FPU hardware is present or it has | |
1722 | been disabled with 'nofpu', then the settings of | |
1723 | 'legacy' and '2008' strap the emulator accordingly, | |
1724 | 'relaxed' straps the emulator for both legacy-NaN and | |
1725 | 2008-NaN, whereas 'strict' enables legacy-NaN only on | |
1726 | legacy processors and both NaN encodings on MIPS32 or | |
1727 | MIPS64 CPUs. | |
1728 | ||
1729 | The setting for ABS.fmt/NEG.fmt instruction execution | |
1730 | mode generally follows that for the NaN encoding, | |
1731 | except where unsupported by hardware. | |
1732 | ||
79290822 IM |
1733 | ignore_loglevel [KNL] |
1734 | Ignore loglevel setting - this will print /all/ | |
1735 | kernel messages to the console. Useful for debugging. | |
0eca6b7c YZ |
1736 | We also add it as printk module parameter, so users |
1737 | could change it dynamically, usually by | |
1738 | /sys/module/printk/parameters/ignore_loglevel. | |
79290822 | 1739 | |
d977d56c KK |
1740 | ignore_rlimit_data |
1741 | Ignore RLIMIT_DATA setting for data mappings, | |
1742 | print warning at first misuse. Can be changed via | |
1743 | /sys/module/kernel/parameters/ignore_rlimit_data. | |
1744 | ||
1da177e4 LT |
1745 | ihash_entries= [KNL] |
1746 | Set number of hash buckets for inode cache. | |
1747 | ||
2fe5d6de | 1748 | ima_appraise= [IMA] appraise integrity measurements |
2faa6ef3 | 1749 | Format: { "off" | "enforce" | "fix" | "log" } |
2fe5d6de MZ |
1750 | default: "enforce" |
1751 | ||
41475a3e | 1752 | ima_appraise_tcb [IMA] Deprecated. Use ima_policy= instead. |
07f6a794 MZ |
1753 | The builtin appraise policy appraises all files |
1754 | owned by uid=0. | |
1755 | ||
d68a6fe9 MZ |
1756 | ima_canonical_fmt [IMA] |
1757 | Use the canonical format for the binary runtime | |
1758 | measurements, instead of host native format. | |
1759 | ||
3323eec9 | 1760 | ima_hash= [IMA] |
e7a2ad7e MZ |
1761 | Format: { md5 | sha1 | rmd160 | sha256 | sha384 |
1762 | | sha512 | ... } | |
3323eec9 MZ |
1763 | default: "sha1" |
1764 | ||
e7a2ad7e MZ |
1765 | The list of supported hash algorithms is defined |
1766 | in crypto/hash_info.h. | |
1767 | ||
24fd03c8 | 1768 | ima_policy= [IMA] |
33ce9549 | 1769 | The builtin policies to load during IMA setup. |
9e67028e | 1770 | Format: "tcb | appraise_tcb | secure_boot | |
03cee168 | 1771 | fail_securely | critical_data" |
33ce9549 MZ |
1772 | |
1773 | The "tcb" policy measures all programs exec'd, files | |
1774 | mmap'd for exec, and all files opened with the read | |
1775 | mode bit set by either the effective uid (euid=0) or | |
1776 | uid=0. | |
1777 | ||
1778 | The "appraise_tcb" policy appraises the integrity of | |
41475a3e | 1779 | all files owned by root. |
24fd03c8 | 1780 | |
503ceaef MZ |
1781 | The "secure_boot" policy appraises the integrity |
1782 | of files (eg. kexec kernel image, kernel modules, | |
1783 | firmware, policy, etc) based on file signatures. | |
24fd03c8 | 1784 | |
9e67028e MZ |
1785 | The "fail_securely" policy forces file signature |
1786 | verification failure also on privileged mounted | |
1787 | filesystems with the SB_I_UNVERIFIABLE_SIGNATURE | |
1788 | flag. | |
1789 | ||
03cee168 LR |
1790 | The "critical_data" policy measures kernel integrity |
1791 | critical data. | |
1792 | ||
24fd03c8 | 1793 | ima_tcb [IMA] Deprecated. Use ima_policy= instead. |
5789ba3b EP |
1794 | Load a policy which meets the needs of the Trusted |
1795 | Computing Base. This means IMA will measure all | |
1796 | programs exec'd, files mmap'd for exec, and all files | |
1797 | opened for read by uid=0. | |
1798 | ||
6dddd7a7 | 1799 | ima_template= [IMA] |
9b9d4ce5 | 1800 | Select one of defined IMA measurements template formats. |
8265a2f8 | 1801 | Formats: { "ima" | "ima-ng" | "ima-sig" } |
9b9d4ce5 RS |
1802 | Default: "ima-ng" |
1803 | ||
c2426d2a | 1804 | ima_template_fmt= |
6dddd7a7 | 1805 | [IMA] Define a custom template format. |
c2426d2a RS |
1806 | Format: { "field1|...|fieldN" } |
1807 | ||
3bcced39 DK |
1808 | ima.ahash_minsize= [IMA] Minimum file size for asynchronous hash usage |
1809 | Format: <min_file_size> | |
1810 | Set the minimal file size for using asynchronous hash. | |
1811 | If left unspecified, ahash usage is disabled. | |
1812 | ||
1813 | ahash performance varies for different data sizes on | |
1814 | different crypto accelerators. This option can be used | |
1815 | to achieve the best performance for a particular HW. | |
1816 | ||
6edf7a89 DK |
1817 | ima.ahash_bufsize= [IMA] Asynchronous hash buffer size |
1818 | Format: <bufsize> | |
1819 | Set hashing buffer size. Default: 4k. | |
1820 | ||
1821 | ahash performance varies for different chunk sizes on | |
1822 | different crypto accelerators. This option can be used | |
1823 | to achieve best performance for particular HW. | |
1824 | ||
1da177e4 LT |
1825 | init= [KNL] |
1826 | Format: <full_path> | |
1827 | Run specified binary instead of /sbin/init as init | |
1828 | process. | |
1829 | ||
1830 | initcall_debug [KNL] Trace initcalls as they are executed. Useful | |
1831 | for working out where the kernel is dying during | |
1832 | startup. | |
1833 | ||
7b0b73d7 PB |
1834 | initcall_blacklist= [KNL] Do not execute a comma-separated list of |
1835 | initcall functions. Useful for debugging built-in | |
1836 | modules and initcalls. | |
1837 | ||
e7cb072e RV |
1838 | initramfs_async= [KNL] |
1839 | Format: <bool> | |
1840 | Default: 1 | |
1841 | This parameter controls whether the initramfs | |
1842 | image is unpacked asynchronously, concurrently | |
1843 | with devices being probed and | |
1844 | initialized. This should normally just work, | |
1845 | but as a debugging aid, one can get the | |
1846 | historical behaviour of the initramfs | |
1847 | unpacking being completed before device_ and | |
1848 | late_ initcalls. | |
1849 | ||
1da177e4 LT |
1850 | initrd= [BOOT] Specify the location of the initial ramdisk |
1851 | ||
694cfd87 RM |
1852 | initrdmem= [KNL] Specify a physical address and size from which to |
1853 | load the initrd. If an initrd is compiled in or | |
1854 | specified in the bootparams, it takes priority over this | |
1855 | setting. | |
1856 | Format: ss[KMG],nn[KMG] | |
1857 | Default is 0, 0 | |
1858 | ||
6471384a AP |
1859 | init_on_alloc= [MM] Fill newly allocated pages and heap objects with |
1860 | zeroes. | |
1861 | Format: 0 | 1 | |
1862 | Default set by CONFIG_INIT_ON_ALLOC_DEFAULT_ON. | |
1863 | ||
1864 | init_on_free= [MM] Fill freed pages and heap objects with zeroes. | |
1865 | Format: 0 | 1 | |
1866 | Default set by CONFIG_INIT_ON_FREE_DEFAULT_ON. | |
1867 | ||
be3a5b0e | 1868 | init_pkru= [X86] Specify the default memory protection keys rights |
acd547b2 DH |
1869 | register contents for all processes. 0x55555554 by |
1870 | default (disallow access to all but pkey 0). Can | |
1871 | override in debugfs after boot. | |
1872 | ||
1da177e4 LT |
1873 | inport.irq= [HW] Inport (ATI XL and Microsoft) busmouse driver |
1874 | Format: <irq> | |
1875 | ||
be3a5b0e | 1876 | int_pln_enable [X86] Enable power limit notification interrupt |
6bb2ff84 | 1877 | |
d726d8d7 MZ |
1878 | integrity_audit=[IMA] |
1879 | Format: { "0" | "1" } | |
1880 | 0 -- basic integrity auditing messages. (Default) | |
1881 | 1 -- additional integrity auditing messages. | |
1882 | ||
ba395927 | 1883 | intel_iommu= [DMAR] Intel IOMMU driver (DMAR) option |
0cd5c3c8 KM |
1884 | on |
1885 | Enable intel iommu driver. | |
ba395927 KA |
1886 | off |
1887 | Disable intel iommu driver. | |
1888 | igfx_off [Default Off] | |
1889 | By default, gfx is mapped as normal device. If a gfx | |
1890 | device has a dedicated DMAR unit, the DMAR unit is | |
1891 | bypassed by not enabling DMAR with this option. In | |
1892 | this case, gfx device will use physical address for | |
1893 | DMA. | |
5e0d2a6f | 1894 | strict [Default Off] |
1895 | With this option on every unmap_single operation will | |
1896 | result in a hardware IOTLB flush operation as opposed | |
1897 | to batching them for performance. | |
6dd9a7c7 YS |
1898 | sp_off [Default Off] |
1899 | By default, super page will be supported if Intel IOMMU | |
1900 | has the capability. With this option, super page will | |
1901 | not be supported. | |
8950dcd8 LB |
1902 | sm_on [Default Off] |
1903 | By default, scalable mode will be disabled even if the | |
765b6a98 LB |
1904 | hardware advertises that it has support for the scalable |
1905 | mode translation. With this option set, scalable mode | |
8950dcd8 | 1906 | will be used on hardware which claims to support it. |
bfd20f1c SL |
1907 | tboot_noforce [Default Off] |
1908 | Do not force the Intel IOMMU enabled under tboot. | |
1909 | By default, tboot will force Intel IOMMU on, which | |
1910 | could harm performance of some high-throughput | |
1911 | devices like 40GBit network cards, even if identity | |
1912 | mapping is enabled. | |
1913 | Note that using this option lowers the security | |
1914 | provided by tboot because it makes the system | |
1915 | vulnerable to DMA attacks. | |
2e92c7ad MI |
1916 | |
1917 | intel_idle.max_cstate= [KNL,HW,ACPI,X86] | |
1918 | 0 disables intel_idle and fall back on acpi_idle. | |
22c6bbe4 | 1919 | 1 to 9 specify maximum depth of C-state. |
2e92c7ad | 1920 | |
6dddd7a7 TB |
1921 | intel_pstate= [X86] |
1922 | disable | |
1923 | Do not enable intel_pstate as the default | |
1924 | scaling driver for the supported processors | |
1925 | passive | |
1926 | Use intel_pstate as a scaling driver, but configure it | |
1927 | to work with generic cpufreq governors (instead of | |
1928 | enabling its internal governor). This mode cannot be | |
1929 | used along with the hardware-managed P-states (HWP) | |
1930 | feature. | |
1931 | force | |
1932 | Enable intel_pstate on systems that prohibit it by default | |
1933 | in favor of acpi-cpufreq. Forcing the intel_pstate driver | |
1934 | instead of acpi-cpufreq may disable platform features, such | |
1935 | as thermal controls and power capping, that rely on ACPI | |
1936 | P-States information being indicated to OSPM and therefore | |
1937 | should be used with caution. This option does not work with | |
1938 | processors that aren't supported by the intel_pstate driver | |
1939 | or on platforms that use pcc-cpufreq instead of acpi-cpufreq. | |
1940 | no_hwp | |
1941 | Do not enable hardware P state control (HWP) | |
1942 | if available. | |
1943 | hwp_only | |
1944 | Only load intel_pstate on systems which support | |
1945 | hardware P state control (HWP) if available. | |
1946 | support_acpi_ppc | |
1947 | Enforce ACPI _PPC performance limits. If the Fixed ACPI | |
1948 | Description Table, specifies preferred power management | |
1949 | profile as "Enterprise Server" or "Performance Server", | |
1950 | then this feature is turned on by default. | |
1951 | per_cpu_perf_limits | |
1952 | Allow per-logical-CPU P-State performance control limits using | |
1953 | cpufreq sysfs interface | |
6be26498 | 1954 | |
d1423d56 | 1955 | intremap= [X86-64, Intel-IOMMU] |
d1423d56 CW |
1956 | on enable Interrupt Remapping (default) |
1957 | off disable Interrupt Remapping | |
1958 | nosid disable Source ID checking | |
41750d31 SS |
1959 | no_x2apic_optout |
1960 | BIOS x2APIC opt-out request will be ignored | |
b7d20631 | 1961 | nopost disable Interrupt Posting |
d1423d56 | 1962 | |
0cb55ad2 RD |
1963 | iomem= Disable strict checking of access to MMIO memory |
1964 | strict regions from userspace. | |
1965 | relaxed | |
1966 | ||
be3a5b0e | 1967 | iommu= [X86] |
0cb55ad2 RD |
1968 | off |
1969 | force | |
1970 | noforce | |
1971 | biomerge | |
1972 | panic | |
1973 | nopanic | |
1974 | merge | |
1975 | nomerge | |
0cb55ad2 | 1976 | soft |
be3a5b0e RD |
1977 | pt [X86] |
1978 | nopt [X86] | |
4e287840 TLSC |
1979 | nobypass [PPC/POWERNV] |
1980 | Disable IOMMU bypass, using IOMMU for PCI devices. | |
bcb71abe | 1981 | |
3542dcb1 RM |
1982 | iommu.forcedac= [ARM64, X86] Control IOVA allocation for PCI devices. |
1983 | Format: { "0" | "1" } | |
1984 | 0 - Try to allocate a 32-bit DMA address first, before | |
1985 | falling back to the full range if needed. | |
1986 | 1 - Allocate directly from the full usable range, | |
1987 | forcing Dual Address Cycle for PCI cards supporting | |
1988 | greater than 32-bit addressing. | |
1989 | ||
68a6efe8 ZL |
1990 | iommu.strict= [ARM64] Configure TLB invalidation behaviour |
1991 | Format: { "0" | "1" } | |
1992 | 0 - Lazy mode. | |
1993 | Request that DMA unmap operations use deferred | |
1994 | invalidation of hardware TLBs, for increased | |
1995 | throughput at the cost of reduced device isolation. | |
1996 | Will fall back to strict mode if not supported by | |
1997 | the relevant IOMMU driver. | |
1998 | 1 - Strict mode (default). | |
1999 | DMA unmap operations invalidate IOMMU hardware TLBs | |
2000 | synchronously. | |
2001 | ||
fccb4e3b | 2002 | iommu.passthrough= |
c8fb436b | 2003 | [ARM64, X86] Configure DMA to bypass the IOMMU by default. |
fccb4e3b WD |
2004 | Format: { "0" | "1" } |
2005 | 0 - Use IOMMU translation for DMA. | |
2006 | 1 - Bypass the IOMMU for DMA. | |
9d723b4c | 2007 | unset - Use value of CONFIG_IOMMU_DEFAULT_PASSTHROUGH. |
0cb55ad2 | 2008 | |
7c42376e | 2009 | io7= [HW] IO7 for Marvel-based Alpha systems |
0cb55ad2 RD |
2010 | See comment before marvel_specify_io7 in |
2011 | arch/alpha/kernel/core_marvel.c. | |
2012 | ||
6cececfc | 2013 | io_delay= [X86] I/O delay method |
6e7c4025 IM |
2014 | 0x80 |
2015 | Standard port 0x80 based delay | |
2016 | 0xed | |
2017 | Alternate port 0xed based delay (needed on some systems) | |
b02aae9c | 2018 | udelay |
6e7c4025 IM |
2019 | Simple two microseconds delay |
2020 | none | |
2021 | No delay | |
b02aae9c | 2022 | |
1da177e4 | 2023 | ip= [IP_PNP] |
3eb30c51 | 2024 | See Documentation/admin-guide/nfs/nfsroot.rst. |
1da177e4 | 2025 | |
5ac893b8 WL |
2026 | ipcmni_extend [KNL] Extend the maximum number of unique System V |
2027 | IPC identifiers from 32,768 to 16,777,216. | |
2028 | ||
fbf19803 | 2029 | irqaffinity= [SMP] Set the default irq affinity mask |
2d13e6ca | 2030 | The argument is a cpu list, as described above. |
fbf19803 | 2031 | |
0962289b MZ |
2032 | irqchip.gicv2_force_probe= |
2033 | [ARM, ARM64] | |
2034 | Format: <bool> | |
2035 | Force the kernel to look for the second 4kB page | |
2036 | of a GICv2 controller even if the memory range | |
2037 | exposed by the device tree is too small. | |
2038 | ||
f736d65d MZ |
2039 | irqchip.gicv3_nolpi= |
2040 | [ARM, ARM64] | |
2041 | Force the kernel to ignore the availability of | |
2042 | LPIs (and by consequence ITSs). Intended for system | |
2043 | that use the kernel as a bootloader, and thus want | |
2044 | to let secondary kernels in charge of setting up | |
2045 | LPIs. | |
2046 | ||
bc3c03cc JT |
2047 | irqchip.gicv3_pseudo_nmi= [ARM64] |
2048 | Enables support for pseudo-NMIs in the kernel. This | |
2049 | requires the kernel to be built with | |
2050 | CONFIG_ARM64_PSEUDO_NMI. | |
2051 | ||
200803df AC |
2052 | irqfixup [HW] |
2053 | When an interrupt is not handled search all handlers | |
2054 | for it. Intended to get systems with badly broken | |
2055 | firmware running. | |
2056 | ||
2057 | irqpoll [HW] | |
2058 | When an interrupt is not handled search all handlers | |
2059 | for it. Also check all handlers each timer | |
2060 | interrupt. Intended to get systems with badly broken | |
2061 | firmware running. | |
2062 | ||
1da177e4 | 2063 | isapnp= [ISAPNP] |
a9913044 | 2064 | Format: <RDP>,<reset>,<pci_scan>,<verbosity> |
1da177e4 | 2065 | |
d94d1053 | 2066 | isolcpus= [KNL,SMP,ISOL] Isolate a given set of CPUs from disturbance. |
b0d40d2b FW |
2067 | [Deprecated - use cpusets instead] |
2068 | Format: [flag-list,]<cpu-list> | |
2069 | ||
2070 | Specify one or more CPUs to isolate from disturbances | |
2071 | specified in the flag list (default: domain): | |
2072 | ||
2073 | nohz | |
2074 | Disable the tick when a single task runs. | |
083c6eea FW |
2075 | |
2076 | A residual 1Hz tick is offloaded to workqueues, which you | |
2077 | need to affine to housekeeping through the global | |
2078 | workqueue's affinity configured via the | |
2079 | /sys/devices/virtual/workqueue/cpumask sysfs file, or | |
2080 | by using the 'domain' flag described below. | |
2081 | ||
2082 | NOTE: by default the global workqueue runs on all CPUs, | |
2083 | so to protect individual CPUs the 'cpumask' file has to | |
2084 | be configured manually after bootup. | |
2085 | ||
b0d40d2b FW |
2086 | domain |
2087 | Isolate from the general SMP balancing and scheduling | |
2088 | algorithms. Note that performing domain isolation this way | |
2089 | is irreversible: it's not possible to bring back a CPU to | |
2090 | the domains once isolated through isolcpus. It's strongly | |
2091 | advised to use cpusets instead to disable scheduler load | |
2092 | balancing through the "cpuset.sched_load_balance" file. | |
2093 | It offers a much more flexible interface where CPUs can | |
2094 | move in and out of an isolated set anytime. | |
2095 | ||
2096 | You can move a process onto or off an "isolated" CPU via | |
2097 | the CPU affinity syscalls or cpuset. | |
2098 | <cpu number> begins at 0 and the maximum value is | |
2099 | "number of CPUs in system - 1". | |
2100 | ||
11ea68f5 ML |
2101 | managed_irq |
2102 | ||
2103 | Isolate from being targeted by managed interrupts | |
2104 | which have an interrupt mask containing isolated | |
2105 | CPUs. The affinity of managed interrupts is | |
2106 | handled by the kernel and cannot be changed via | |
2107 | the /proc/irq/* interfaces. | |
2108 | ||
2109 | This isolation is best effort and only effective | |
2110 | if the automatically assigned interrupt mask of a | |
2111 | device queue contains isolated and housekeeping | |
2112 | CPUs. If housekeeping CPUs are online then such | |
2113 | interrupts are directed to the housekeeping CPU | |
2114 | so that IO submitted on the housekeeping CPU | |
2115 | cannot disturb the isolated CPU. | |
2116 | ||
2117 | If a queue's affinity mask contains only isolated | |
2118 | CPUs then this parameter has no effect on the | |
2119 | interrupt routing decision, though interrupts are | |
2120 | only delivered when tasks running on those | |
2121 | isolated CPUs submit IO. IO submitted on | |
2122 | housekeeping CPUs has no influence on those | |
2123 | queues. | |
1da177e4 | 2124 | |
11ea68f5 | 2125 | The format of <cpu-list> is described above. |
1da177e4 | 2126 | |
a9913044 | 2127 | iucv= [HW,NET] |
1da177e4 | 2128 | |
be3a5b0e | 2129 | ivrs_ioapic [HW,X86-64] |
7d8bfa26 JR |
2130 | Provide an override to the IOAPIC-ID<->DEVICE-ID |
2131 | mapping provided in the IVRS ACPI table. For | |
2132 | example, to map IOAPIC-ID decimal 10 to | |
2133 | PCI device 00:14.0 write the parameter as: | |
2134 | ivrs_ioapic[10]=00:14.0 | |
2135 | ||
be3a5b0e | 2136 | ivrs_hpet [HW,X86-64] |
7d8bfa26 JR |
2137 | Provide an override to the HPET-ID<->DEVICE-ID |
2138 | mapping provided in the IVRS ACPI table. For | |
2139 | example, to map HPET-ID decimal 0 to | |
2140 | PCI device 00:14.0 write the parameter as: | |
2141 | ivrs_hpet[0]=00:14.0 | |
2142 | ||
be3a5b0e | 2143 | ivrs_acpihid [HW,X86-64] |
ca3bf5d4 SS |
2144 | Provide an override to the ACPI-HID:UID<->DEVICE-ID |
2145 | mapping provided in the IVRS ACPI table. For | |
2146 | example, to map UART-HID:UID AMD0020:0 to | |
2147 | PCI device 00:14.5 write the parameter as: | |
2148 | ivrs_acpihid[00:14.5]=AMD0020:0 | |
2149 | ||
1da177e4 | 2150 | js= [HW,JOY] Analog joystick |
1752118d | 2151 | See Documentation/input/joydev/joystick.rst. |
1da177e4 | 2152 | |
65fe935d KC |
2153 | nokaslr [KNL] |
2154 | When CONFIG_RANDOMIZE_BASE is set, this disables | |
2155 | kernel and module base offset ASLR (Address Space | |
2156 | Layout Randomization). | |
24f2e027 | 2157 | |
b0845ce5 MR |
2158 | kasan_multi_shot |
2159 | [KNL] Enforce KASAN (Kernel Address Sanitizer) to print | |
2160 | report on every invalid memory access. Without this | |
2161 | parameter KASAN will print report only for the first | |
2162 | invalid access. | |
2163 | ||
0cb55ad2 RD |
2164 | keepinitrd [HW,ARM] |
2165 | ||
342332e6 | 2166 | kernelcore= [KNL,X86,IA-64,PPC] |
a5c6d650 DR |
2167 | Format: nn[KMGTPE] | nn% | "mirror" |
2168 | This parameter specifies the amount of memory usable by | |
2169 | the kernel for non-movable allocations. The requested | |
2170 | amount is spread evenly throughout all nodes in the | |
2171 | system as ZONE_NORMAL. The remaining memory is used for | |
2172 | movable memory in its own zone, ZONE_MOVABLE. In the | |
2173 | event, a node is too small to have both ZONE_NORMAL and | |
2174 | ZONE_MOVABLE, kernelcore memory will take priority and | |
2175 | other nodes will have a larger ZONE_MOVABLE. | |
2176 | ||
2177 | ZONE_MOVABLE is used for the allocation of pages that | |
2178 | may be reclaimed or moved by the page migration | |
2179 | subsystem. Note that allocations like PTEs-from-HighMem | |
2180 | still use the HighMem zone if it exists, and the Normal | |
ed7ed365 MG |
2181 | zone if it does not. |
2182 | ||
a5c6d650 DR |
2183 | It is possible to specify the exact amount of memory in |
2184 | the form of "nn[KMGTPE]", a percentage of total system | |
2185 | memory in the form of "nn%", or "mirror". If "mirror" | |
342332e6 TI |
2186 | option is specified, mirrored (reliable) memory is used |
2187 | for non-movable allocations and remaining memory is used | |
a5c6d650 DR |
2188 | for Movable pages. "nn[KMGTPE]", "nn%", and "mirror" |
2189 | are exclusive, so you cannot specify multiple forms. | |
ed7ed365 | 2190 | |
4fe1da4e JW |
2191 | kgdbdbgp= [KGDB,HW] kgdb over EHCI usb debug port. |
2192 | Format: <Controller#>[,poll interval] | |
2193 | The controller # is the number of the ehci usb debug | |
2194 | port as it is probed via PCI. The poll interval is | |
2195 | optional and is the number seconds in between | |
2196 | each poll cycle to the debug port in case you need | |
2197 | the functionality for interrupting the kernel with | |
2198 | gdb or control-c on the dbgp connection. When | |
2199 | not using this parameter you use sysrq-g to break into | |
2200 | the kernel debugger. | |
2201 | ||
84c08fd6 | 2202 | kgdboc= [KGDB,HW] kgdb over consoles. |
ada64e4c JW |
2203 | Requires a tty driver that supports console polling, |
2204 | or a supported polling keyboard driver (non-usb). | |
65b5ac14 JW |
2205 | Serial only format: <serial_device>[,baud] |
2206 | keyboard only format: kbd | |
2207 | keyboard and serial format: kbd,<serial_device>[,baud] | |
2208 | Optional Kernel mode setting: | |
2209 | kms, kbd format: kms,kbd | |
2210 | kms, kbd and serial format: kms,kbd,<ser_dev>[,baud] | |
6cdf6e06 | 2211 | |
f71fc3bc DA |
2212 | kgdboc_earlycon= [KGDB,HW] |
2213 | If the boot console provides the ability to read | |
2214 | characters and can work in polling mode, you can use | |
2215 | this parameter to tell kgdb to use it as a backend | |
2216 | until the normal console is registered. Intended to | |
2217 | be used together with the kgdboc parameter which | |
2218 | specifies the normal console to transition to. | |
2219 | ||
2220 | The name of the early console should be specified | |
2221 | as the value of this parameter. Note that the name of | |
2222 | the early console might be different than the tty | |
2223 | name passed to kgdboc. It's OK to leave the value | |
2224 | blank and the first boot console that implements | |
2225 | read() will be picked. | |
2226 | ||
84c08fd6 JW |
2227 | kgdbwait [KGDB] Stop kernel execution and enter the |
2228 | kernel debugger at the earliest opportunity. | |
2229 | ||
497de97e | 2230 | kmac= [MIPS] Korina ethernet MAC address. |
9bed90c6 FF |
2231 | Configure the RouterBoard 532 series on-chip |
2232 | Ethernet adapter MAC address. | |
2233 | ||
04f70336 CM |
2234 | kmemleak= [KNL] Boot-time kmemleak enable/disable |
2235 | Valid arguments: on, off | |
2236 | Default: on | |
47aeeddc MI |
2237 | Built with CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y, |
2238 | the default is off. | |
04f70336 | 2239 | |
970988e1 MH |
2240 | kprobe_event=[probe-list] |
2241 | [FTRACE] Add kprobe events and enable at boot time. | |
2242 | The probe-list is a semicolon delimited list of probe | |
2243 | definitions. Each definition is same as kprobe_events | |
2244 | interface, but the parameters are comma delimited. | |
2245 | For example, to add a kprobe event on vfs_read with | |
2246 | arg1 and arg2, add to the command line; | |
2247 | ||
2248 | kprobe_event=p,vfs_read,$arg1,$arg2 | |
2249 | ||
2250 | See also Documentation/trace/kprobetrace.rst "Kernel | |
2251 | Boot Parameter" section. | |
2252 | ||
de190555 JL |
2253 | kpti= [ARM64] Control page table isolation of user |
2254 | and kernel address spaces. | |
2255 | Default: enabled on cores which need mitigation. | |
2256 | 0: force disabled | |
2257 | 1: force enabled | |
2258 | ||
fef07aae AP |
2259 | kvm.ignore_msrs=[KVM] Ignore guest accesses to unhandled MSRs. |
2260 | Default is 0 (don't ignore, but inject #GP) | |
2261 | ||
c4ae60e4 LA |
2262 | kvm.enable_vmware_backdoor=[KVM] Support VMware backdoor PV interface. |
2263 | Default is false (don't support). | |
2264 | ||
a182d873 XG |
2265 | kvm.mmu_audit= [KVM] This is a R/W parameter which allows audit |
2266 | KVM MMU at runtime. | |
fef07aae AP |
2267 | Default is 0 (off) |
2268 | ||
b8e8c830 PB |
2269 | kvm.nx_huge_pages= |
2270 | [KVM] Controls the software workaround for the | |
2271 | X86_BUG_ITLB_MULTIHIT bug. | |
2272 | force : Always deploy workaround. | |
2273 | off : Never deploy workaround. | |
2274 | auto : Deploy workaround based on the presence of | |
2275 | X86_BUG_ITLB_MULTIHIT. | |
2276 | ||
2277 | Default is 'auto'. | |
2278 | ||
2279 | If the software workaround is enabled for the host, | |
2280 | guests do need not to enable it for nested guests. | |
2281 | ||
1aa9b957 JS |
2282 | kvm.nx_huge_pages_recovery_ratio= |
2283 | [KVM] Controls how many 4KiB pages are periodically zapped | |
2284 | back to huge pages. 0 disables the recovery, otherwise if | |
2285 | the value is N KVM will zap 1/Nth of the 4KiB pages every | |
2286 | minute. The default is 60. | |
2287 | ||
fef07aae | 2288 | kvm-amd.nested= [KVM,AMD] Allow nested virtualization in KVM/SVM. |
8475f94a | 2289 | Default is 1 (enabled) |
fef07aae AP |
2290 | |
2291 | kvm-amd.npt= [KVM,AMD] Disable nested paging (virtualized MMU) | |
2292 | for all guests. | |
16290246 | 2293 | Default is 1 (enabled) if in 64-bit or 32-bit PAE mode. |
fef07aae | 2294 | |
d8b369c4 DB |
2295 | kvm-arm.mode= |
2296 | [KVM,ARM] Select one of KVM/arm64's modes of operation. | |
2297 | ||
1945a067 MZ |
2298 | nvhe: Standard nVHE-based mode, without support for |
2299 | protected guests. | |
2300 | ||
d8b369c4 DB |
2301 | protected: nVHE-based mode with support for guests whose |
2302 | state is kept private from the host. | |
2303 | Not valid if the kernel is running in EL2. | |
2304 | ||
2d726d0d | 2305 | Defaults to VHE/nVHE based on hardware support. |
d8b369c4 | 2306 | |
e23f62f7 MZ |
2307 | kvm-arm.vgic_v3_group0_trap= |
2308 | [KVM,ARM] Trap guest accesses to GICv3 group-0 | |
2309 | system registers | |
2310 | ||
182936ee MZ |
2311 | kvm-arm.vgic_v3_group1_trap= |
2312 | [KVM,ARM] Trap guest accesses to GICv3 group-1 | |
2313 | system registers | |
2314 | ||
ff89511e MZ |
2315 | kvm-arm.vgic_v3_common_trap= |
2316 | [KVM,ARM] Trap guest accesses to GICv3 common | |
2317 | system registers | |
2318 | ||
a7546054 MZ |
2319 | kvm-arm.vgic_v4_enable= |
2320 | [KVM,ARM] Allow use of GICv4 for direct injection of | |
2321 | LPIs. | |
2322 | ||
aed26eeb SR |
2323 | kvm_cma_resv_ratio=n [PPC] |
2324 | Reserves given percentage from system memory area for | |
2325 | contiguous memory allocation for KVM hash pagetable | |
2326 | allocation. | |
2327 | By default it reserves 5% of total system memory. | |
2328 | Format: <integer> | |
2329 | Default: 5 | |
2330 | ||
fef07aae AP |
2331 | kvm-intel.ept= [KVM,Intel] Disable extended page tables |
2332 | (virtualized MMU) support on capable Intel chips. | |
2333 | Default is 1 (enabled) | |
2334 | ||
2335 | kvm-intel.emulate_invalid_guest_state= | |
2336 | [KVM,Intel] Enable emulation of invalid guest states | |
2337 | Default is 0 (disabled) | |
2338 | ||
2339 | kvm-intel.flexpriority= | |
2340 | [KVM,Intel] Disable FlexPriority feature (TPR shadow). | |
2341 | Default is 1 (enabled) | |
2342 | ||
e1a72ae2 SL |
2343 | kvm-intel.nested= |
2344 | [KVM,Intel] Enable VMX nesting (nVMX). | |
2345 | Default is 0 (disabled) | |
2346 | ||
fef07aae AP |
2347 | kvm-intel.unrestricted_guest= |
2348 | [KVM,Intel] Disable unrestricted guest feature | |
2349 | (virtualized real and unpaged mode) on capable | |
2350 | Intel chips. Default is 1 (enabled) | |
2351 | ||
a399477e KRW |
2352 | kvm-intel.vmentry_l1d_flush=[KVM,Intel] Mitigation for L1 Terminal Fault |
2353 | CVE-2018-3620. | |
2354 | ||
2355 | Valid arguments: never, cond, always | |
2356 | ||
2357 | always: L1D cache flush on every VMENTER. | |
2358 | cond: Flush L1D on VMENTER only when the code between | |
2359 | VMEXIT and VMENTER can leak host memory. | |
2360 | never: Disables the mitigation | |
2361 | ||
2362 | Default is cond (do L1 cache flush in specific instances) | |
2363 | ||
fef07aae AP |
2364 | kvm-intel.vpid= [KVM,Intel] Disable Virtual Processor Identification |
2365 | feature (tagged TLBs) on capable Intel chips. | |
2366 | Default is 1 (enabled) | |
2367 | ||
d90a7a0e JK |
2368 | l1tf= [X86] Control mitigation of the L1TF vulnerability on |
2369 | affected CPUs | |
2370 | ||
2371 | The kernel PTE inversion protection is unconditionally | |
2372 | enabled and cannot be disabled. | |
2373 | ||
2374 | full | |
2375 | Provides all available mitigations for the | |
2376 | L1TF vulnerability. Disables SMT and | |
2377 | enables all mitigations in the | |
2378 | hypervisors, i.e. unconditional L1D flush. | |
2379 | ||
2380 | SMT control and L1D flush control via the | |
2381 | sysfs interface is still possible after | |
2382 | boot. Hypervisors will issue a warning | |
2383 | when the first VM is started in a | |
2384 | potentially insecure configuration, | |
2385 | i.e. SMT enabled or L1D flush disabled. | |
2386 | ||
2387 | full,force | |
2388 | Same as 'full', but disables SMT and L1D | |
2389 | flush runtime control. Implies the | |
2390 | 'nosmt=force' command line option. | |
2391 | (i.e. sysfs control of SMT is disabled.) | |
2392 | ||
2393 | flush | |
2394 | Leaves SMT enabled and enables the default | |
2395 | hypervisor mitigation, i.e. conditional | |
2396 | L1D flush. | |
2397 | ||
2398 | SMT control and L1D flush control via the | |
2399 | sysfs interface is still possible after | |
2400 | boot. Hypervisors will issue a warning | |
2401 | when the first VM is started in a | |
2402 | potentially insecure configuration, | |
2403 | i.e. SMT enabled or L1D flush disabled. | |
2404 | ||
2405 | flush,nosmt | |
2406 | ||
2407 | Disables SMT and enables the default | |
2408 | hypervisor mitigation. | |
2409 | ||
2410 | SMT control and L1D flush control via the | |
2411 | sysfs interface is still possible after | |
2412 | boot. Hypervisors will issue a warning | |
2413 | when the first VM is started in a | |
2414 | potentially insecure configuration, | |
2415 | i.e. SMT enabled or L1D flush disabled. | |
2416 | ||
2417 | flush,nowarn | |
2418 | Same as 'flush', but hypervisors will not | |
2419 | warn when a VM is started in a potentially | |
2420 | insecure configuration. | |
2421 | ||
2422 | off | |
2423 | Disables hypervisor mitigations and doesn't | |
2424 | emit any warnings. | |
5b5e4d62 MH |
2425 | It also drops the swap size and available |
2426 | RAM limit restriction on both hypervisor and | |
2427 | bare metal. | |
d90a7a0e JK |
2428 | |
2429 | Default is 'flush'. | |
2430 | ||
65fd4cb6 | 2431 | For details see: Documentation/admin-guide/hw-vuln/l1tf.rst |
d90a7a0e | 2432 | |
1da177e4 LT |
2433 | l2cr= [PPC] |
2434 | ||
a78bfbfc RB |
2435 | l3cr= [PPC] |
2436 | ||
cd4f0ef7 | 2437 | lapic [X86-32,APIC] Enable the local APIC even if BIOS |
a9913044 | 2438 | disabled it. |
1da177e4 | 2439 | |
622381e6 | 2440 | lapic= [X86,APIC] Do not use TSC deadline |
279f1461 SS |
2441 | value for LAPIC timer one-shot implementation. Default |
2442 | back to the programmable timer unit in the LAPIC. | |
622381e6 | 2443 | Format: notscdeadline |
279f1461 | 2444 | |
6cececfc | 2445 | lapic_timer_c2_ok [X86,APIC] trust the local apic timer |
ada9cfdd | 2446 | in C2 power state. |
e585bef8 | 2447 | |
fcb71f6f FC |
2448 | libata.dma= [LIBATA] DMA control |
2449 | libata.dma=0 Disable all PATA and SATA DMA | |
2450 | libata.dma=1 PATA and SATA Disk DMA only | |
2451 | libata.dma=2 ATAPI (CDROM) DMA only | |
16290246 | 2452 | libata.dma=4 Compact Flash DMA only |
fcb71f6f FC |
2453 | Combinations also work, so libata.dma=3 enables DMA |
2454 | for disks and CDROMs, but not CFs. | |
16290246 | 2455 | |
20308871 MP |
2456 | libata.ignore_hpa= [LIBATA] Ignore HPA limit |
2457 | libata.ignore_hpa=0 keep BIOS limits (default) | |
2458 | libata.ignore_hpa=1 ignore limits, using full disk | |
fcb71f6f | 2459 | |
78e70c23 DJ |
2460 | libata.noacpi [LIBATA] Disables use of ACPI in libata suspend/resume |
2461 | when set. | |
2462 | Format: <int> | |
2463 | ||
25942e5e | 2464 | libata.force= [LIBATA] Force configurations. The format is comma- |
33267325 | 2465 | separated list of "[ID:]VAL" where ID is |
4c44f309 | 2466 | PORT[.DEVICE]. PORT and DEVICE are decimal numbers |
33267325 TH |
2467 | matching port, link or device. Basically, it matches |
2468 | the ATA ID string printed on console by libata. If | |
2469 | the whole ID part is omitted, the last PORT and DEVICE | |
2470 | values are used. If ID hasn't been specified yet, the | |
2471 | configuration applies to all ports, links and devices. | |
2472 | ||
2473 | If only DEVICE is omitted, the parameter applies to | |
2474 | the port and all links and devices behind it. DEVICE | |
2475 | number of 0 either selects the first device or the | |
2476 | first fan-out link behind PMP device. It does not | |
2477 | select the host link. DEVICE number of 15 selects the | |
2478 | host link and device attached to it. | |
2479 | ||
2480 | The VAL specifies the configuration to force. As long | |
2481 | as there's no ambiguity shortcut notation is allowed. | |
2482 | For example, both 1.5 and 1.5G would work for 1.5Gbps. | |
2483 | The following configurations can be forced. | |
2484 | ||
2485 | * Cable type: 40c, 80c, short40c, unk, ign or sata. | |
2486 | Any ID with matching PORT is used. | |
2487 | ||
2488 | * SATA link speed limit: 1.5Gbps or 3.0Gbps. | |
2489 | ||
2490 | * Transfer mode: pio[0-7], mwdma[0-4] and udma[0-7]. | |
2491 | udma[/][16,25,33,44,66,100,133] notation is also | |
2492 | allowed. | |
2493 | ||
2494 | * [no]ncq: Turn on or off NCQ. | |
2495 | ||
d7b16e4f MP |
2496 | * [no]ncqtrim: Turn off queued DSM TRIM. |
2497 | ||
05944bdf | 2498 | * nohrst, nosrst, norst: suppress hard, soft |
6dddd7a7 | 2499 | and both resets. |
05944bdf | 2500 | |
ca6d43b0 DW |
2501 | * rstonce: only attempt one reset during |
2502 | hot-unplug link recovery | |
2503 | ||
43c9c591 TH |
2504 | * dump_id: dump IDENTIFY data. |
2505 | ||
966fbe19 VP |
2506 | * atapi_dmadir: Enable ATAPI DMADIR bridge support |
2507 | ||
b8bd6dc3 RJ |
2508 | * disable: Disable this device. |
2509 | ||
33267325 TH |
2510 | If there are multiple matching configurations changing |
2511 | the same attribute, the last one is used. | |
2512 | ||
95f72d1e | 2513 | memblock=debug [KNL] Enable memblock debug messages. |
7c4be253 | 2514 | |
6b99e6e6 | 2515 | load_ramdisk= [RAM] [Deprecated] |
1da177e4 | 2516 | |
a6b25b67 RD |
2517 | lockd.nlm_grace_period=P [NFS] Assign grace period. |
2518 | Format: <integer> | |
1da177e4 | 2519 | |
a6b25b67 RD |
2520 | lockd.nlm_tcpport=N [NFS] Assign TCP port. |
2521 | Format: <integer> | |
2522 | ||
2523 | lockd.nlm_timeout=T [NFS] Assign timeout value. | |
2524 | Format: <integer> | |
2525 | ||
2526 | lockd.nlm_udpport=M [NFS] Assign UDP port. | |
2527 | Format: <integer> | |
1da177e4 | 2528 | |
000d388e MG |
2529 | lockdown= [SECURITY] |
2530 | { integrity | confidentiality } | |
2531 | Enable the kernel lockdown feature. If set to | |
2532 | integrity, kernel features that allow userland to | |
2533 | modify the running kernel are disabled. If set to | |
2534 | confidentiality, kernel features that allow userland | |
2535 | to extract confidential information from the kernel | |
2536 | are also disabled. | |
2537 | ||
ec4518aa PM |
2538 | locktorture.nreaders_stress= [KNL] |
2539 | Set the number of locking read-acquisition kthreads. | |
2540 | Defaults to being automatically set based on the | |
2541 | number of online CPUs. | |
2542 | ||
2543 | locktorture.nwriters_stress= [KNL] | |
2544 | Set the number of locking write-acquisition kthreads. | |
2545 | ||
2546 | locktorture.onoff_holdoff= [KNL] | |
2547 | Set time (s) after boot for CPU-hotplug testing. | |
2548 | ||
2549 | locktorture.onoff_interval= [KNL] | |
2550 | Set time (s) between CPU-hotplug operations, or | |
2551 | zero to disable CPU-hotplug testing. | |
2552 | ||
2553 | locktorture.shuffle_interval= [KNL] | |
2554 | Set task-shuffle interval (jiffies). Shuffling | |
2555 | tasks allows some CPUs to go into dyntick-idle | |
2556 | mode during the locktorture test. | |
2557 | ||
2558 | locktorture.shutdown_secs= [KNL] | |
2559 | Set time (s) after boot system shutdown. This | |
2560 | is useful for hands-off automated testing. | |
2561 | ||
2562 | locktorture.stat_interval= [KNL] | |
2563 | Time (s) between statistics printk()s. | |
2564 | ||
2565 | locktorture.stutter= [KNL] | |
2566 | Time (s) to stutter testing, for example, | |
2567 | specifying five seconds causes the test to run for | |
2568 | five seconds, wait for five seconds, and so on. | |
2569 | This tests the locking primitive's ability to | |
2570 | transition abruptly to and from idle. | |
2571 | ||
ec4518aa PM |
2572 | locktorture.torture_type= [KNL] |
2573 | Specify the locking implementation to test. | |
2574 | ||
2575 | locktorture.verbose= [KNL] | |
2576 | Enable additional printk() statements. | |
2577 | ||
1da177e4 LT |
2578 | logibm.irq= [HW,MOUSE] Logitech Bus Mouse Driver |
2579 | Format: <irq> | |
2580 | ||
2581 | loglevel= All Kernel Messages with a loglevel smaller than the | |
2582 | console loglevel will be printed to the console. It can | |
2583 | also be changed with klogd or other programs. The | |
2584 | loglevels are defined as follows: | |
2585 | ||
2586 | 0 (KERN_EMERG) system is unusable | |
2587 | 1 (KERN_ALERT) action must be taken immediately | |
2588 | 2 (KERN_CRIT) critical conditions | |
2589 | 3 (KERN_ERR) error conditions | |
2590 | 4 (KERN_WARNING) warning conditions | |
2591 | 5 (KERN_NOTICE) normal but significant condition | |
2592 | 6 (KERN_INFO) informational | |
2593 | 7 (KERN_DEBUG) debug-level messages | |
2594 | ||
c756d08a | 2595 | log_buf_len=n[KMG] Sets the size of the printk ring buffer, |
23b2899f LR |
2596 | in bytes. n must be a power of two and greater |
2597 | than the minimal size. The minimal size is defined | |
2598 | by LOG_BUF_SHIFT kernel config parameter. There is | |
2599 | also CONFIG_LOG_CPU_MAX_BUF_SHIFT config parameter | |
2600 | that allows to increase the default size depending on | |
2601 | the number of CPUs. See init/Kconfig for more details. | |
1da177e4 | 2602 | |
accaa24c RD |
2603 | logo.nologo [FB] Disables display of the built-in Linux logo. |
2604 | This may be used to provide more screen space for | |
2605 | kernel log messages and is useful when debugging | |
2606 | kernel boot problems. | |
2607 | ||
1da177e4 LT |
2608 | lp=0 [LP] Specify parallel ports to use, e.g, |
2609 | lp=port[,port...] lp=none,parport0 (lp0 not configured, lp1 uses | |
2610 | lp=reset first parallel port). 'lp=0' disables the | |
2611 | lp=auto printer driver. 'lp=reset' (which can be | |
2612 | specified in addition to the ports) causes | |
2613 | attached printers to be reset. Using | |
2614 | lp=port1,port2,... specifies the parallel ports | |
2615 | to associate lp devices with, starting with | |
2616 | lp0. A port specification may be 'none' to skip | |
2617 | that lp device, or a parport name such as | |
2618 | 'parport0'. Specifying 'lp=auto' instead of a | |
2619 | port specification list means that device IDs | |
2620 | from each port should be examined, to see if | |
2621 | an IEEE 1284-compliant printer is attached; if | |
2622 | so, the driver will manage that printer. | |
2623 | See also header of drivers/char/lp.c. | |
2624 | ||
2625 | lpj=n [KNL] | |
2626 | Sets loops_per_jiffy to given constant, thus avoiding | |
2627 | time-consuming boot-time autodetection (up to 250 ms per | |
2628 | CPU). 0 enables autodetection (default). To determine | |
2629 | the correct value for your kernel, boot with normal | |
2630 | autodetection and see what value is printed. Note that | |
2631 | on SMP systems the preset will be applied to all CPUs, | |
2632 | which is likely to cause problems if your CPUs need | |
2633 | significantly divergent settings. An incorrect value | |
2634 | will cause delays in the kernel to be wrong, leading to | |
2635 | unpredictable I/O errors and other breakage. Although | |
2636 | unlikely, in the extreme case this might damage your | |
2637 | hardware. | |
2638 | ||
2639 | ltpc= [NET] | |
2640 | Format: <io>,<irq>,<dma> | |
2641 | ||
9b8c7c14 KC |
2642 | lsm.debug [SECURITY] Enable LSM initialization debugging output. |
2643 | ||
79f7865d KC |
2644 | lsm=lsm1,...,lsmN |
2645 | [SECURITY] Choose order of LSM initialization. This | |
89a9684e | 2646 | overrides CONFIG_LSM, and the "security=" parameter. |
79f7865d | 2647 | |
16290246 | 2648 | machvec= [IA-64] Force the use of a particular machine-vector |
a9913044 | 2649 | (machvec) in a generic kernel. |
df43acac | 2650 | Example: machvec=hpzx1 |
1da177e4 | 2651 | |
42769488 RD |
2652 | machtype= [Loongson] Share the same kernel image file between |
2653 | different yeeloong laptops. | |
3209e70e WZ |
2654 | Example: machtype=lemote-yeeloong-2f-7inch |
2655 | ||
0cb55ad2 RD |
2656 | max_addr=nn[KMG] [KNL,BOOT,ia64] All physical memory greater |
2657 | than or equal to this physical address is ignored. | |
1da177e4 LT |
2658 | |
2659 | maxcpus= [SMP] Maximum number of processors that an SMP kernel | |
7c142bfe BH |
2660 | will bring up during bootup. maxcpus=n : n >= 0 limits |
2661 | the kernel to bring up 'n' processors. Surely after | |
2662 | bootup you can bring up the other plugged cpu by executing | |
2663 | "echo 1 > /sys/devices/system/cpu/cpuX/online". So maxcpus | |
2664 | only takes effect during system bootup. | |
2665 | While n=0 is a special case, it is equivalent to "nosmp", | |
2666 | which also disables the IO APIC. | |
1da177e4 | 2667 | |
d134b00b KS |
2668 | max_loop= [LOOP] The number of loop block devices that get |
2669 | (loop.max_loop) unconditionally pre-created at init time. The default | |
2670 | number is configured by BLK_DEV_LOOP_MIN_COUNT. Instead | |
2671 | of statically allocating a predefined number, loop | |
2672 | devices can be requested on-demand with the | |
2673 | /dev/loop-control interface. | |
2b2c3750 | 2674 | |
cd4f0ef7 | 2675 | mce [X86-32] Machine Check Exception |
1da177e4 | 2676 | |
cb1aaebe | 2677 | mce=option [X86-64] See Documentation/x86/x86_64/boot-options.rst |
909dd324 | 2678 | |
1da177e4 | 2679 | md= [HW] RAID subsystems devices and level |
e52347bd | 2680 | See Documentation/admin-guide/md.rst. |
a9913044 | 2681 | |
1da177e4 LT |
2682 | mdacon= [MDA] |
2683 | Format: <first>,<last> | |
2684 | Specifies range of consoles to be captured by the MDA. | |
a9913044 | 2685 | |
bc124170 TG |
2686 | mds= [X86,INTEL] |
2687 | Control mitigation for the Micro-architectural Data | |
2688 | Sampling (MDS) vulnerability. | |
2689 | ||
2690 | Certain CPUs are vulnerable to an exploit against CPU | |
2691 | internal buffers which can forward information to a | |
2692 | disclosure gadget under certain conditions. | |
2693 | ||
2694 | In vulnerable processors, the speculatively | |
2695 | forwarded data can be used in a cache side channel | |
2696 | attack, to access data to which the attacker does | |
2697 | not have direct access. | |
2698 | ||
2699 | This parameter controls the MDS mitigation. The | |
2700 | options are: | |
2701 | ||
d71eb0ce JP |
2702 | full - Enable MDS mitigation on vulnerable CPUs |
2703 | full,nosmt - Enable MDS mitigation and disable | |
2704 | SMT on vulnerable CPUs | |
2705 | off - Unconditionally disable MDS mitigation | |
bc124170 | 2706 | |
64870ed1 WL |
2707 | On TAA-affected machines, mds=off can be prevented by |
2708 | an active TAA mitigation as both vulnerabilities are | |
2709 | mitigated with the same mechanism so in order to disable | |
2710 | this mitigation, you need to specify tsx_async_abort=off | |
2711 | too. | |
2712 | ||
bc124170 TG |
2713 | Not specifying this option is equivalent to |
2714 | mds=full. | |
2715 | ||
5999bbe7 TG |
2716 | For details see: Documentation/admin-guide/hw-vuln/mds.rst |
2717 | ||
1da177e4 | 2718 | mem=nn[KMG] [KNL,BOOT] Force usage of a specific amount of memory |
f3cd4c86 BH |
2719 | Amount of memory to be used in cases as follows: |
2720 | ||
2721 | 1 for test; | |
2722 | 2 when the kernel is not able to see the whole system memory; | |
2723 | 3 memory that lies after 'mem=' boundary is excluded from | |
2724 | the hypervisor, then assigned to KVM guests. | |
2725 | ||
fbb97d87 WC |
2726 | [X86] Work as limiting max address. Use together |
2727 | with memmap= to avoid physical address space collisions. | |
2728 | Without memmap= PCI devices could be placed at addresses | |
2729 | belonging to unused RAM. | |
1da177e4 | 2730 | |
f3cd4c86 BH |
2731 | Note that this only takes effects during boot time since |
2732 | in above case 3, memory may need be hot added after boot | |
2733 | if system memory of hypervisor is not sufficient. | |
2734 | ||
cd4f0ef7 | 2735 | mem=nopentium [BUGS=X86-32] Disable usage of 4MB pages for kernel |
1da177e4 LT |
2736 | memory. |
2737 | ||
6902aa84 PM |
2738 | memchunk=nn[KMG] |
2739 | [KNL,SH] Allow user to override the default size for | |
2740 | per-device physically contiguous DMA buffers. | |
2741 | ||
6dddd7a7 | 2742 | memhp_default_state=online/offline |
86dd995d VK |
2743 | [KNL] Set the initial state for the memory hotplug |
2744 | onlining policy. If not specified, the default value is | |
2745 | set according to the | |
2746 | CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE kernel config | |
2747 | option. | |
cb1aaebe | 2748 | See Documentation/admin-guide/mm/memory-hotplug.rst. |
86dd995d | 2749 | |
6cececfc | 2750 | memmap=exactmap [KNL,X86] Enable setting of an exact |
1da177e4 LT |
2751 | E820 memory map, as specified by the user. |
2752 | Such memmap=exactmap lines can be constructed based on | |
2753 | BIOS output or other requirements. See the memmap=nn@ss | |
2754 | option description. | |
2755 | ||
2756 | memmap=nn[KMG]@ss[KMG] | |
4c8e3de4 | 2757 | [KNL, X86, MIPS, XTENSA] Force usage of a specific region of memory. |
277cba1d | 2758 | Region of memory to be used is from ss to ss+nn. |
8fcc9bc3 BH |
2759 | If @ss[KMG] is omitted, it is equivalent to mem=nn[KMG], |
2760 | which limits max address to nn[KMG]. | |
2761 | Multiple different regions can be specified, | |
2762 | comma delimited. | |
2763 | Example: | |
2764 | memmap=100M@2G,100M#3G,1G!1024G | |
1da177e4 LT |
2765 | |
2766 | memmap=nn[KMG]#ss[KMG] | |
2767 | [KNL,ACPI] Mark specific memory as ACPI data. | |
277cba1d | 2768 | Region of memory to be marked is from ss to ss+nn. |
1da177e4 LT |
2769 | |
2770 | memmap=nn[KMG]$ss[KMG] | |
2771 | [KNL,ACPI] Mark specific memory as reserved. | |
277cba1d | 2772 | Region of memory to be reserved is from ss to ss+nn. |
1312848e PM |
2773 | Example: Exclude memory from 0x18690000-0x1869ffff |
2774 | memmap=64K$0x18690000 | |
2775 | or | |
2776 | memmap=0x10000$0x18690000 | |
8fcc9bc3 BH |
2777 | Some bootloaders may need an escape character before '$', |
2778 | like Grub2, otherwise '$' and the following number | |
2779 | will be eaten. | |
1da177e4 | 2780 | |
ec776ef6 CH |
2781 | memmap=nn[KMG]!ss[KMG] |
2782 | [KNL,X86] Mark specific memory as protected. | |
2783 | Region of memory to be used, from ss to ss+nn. | |
2784 | The memory region may be marked as e820 type 12 (0xc) | |
2785 | and is NVDIMM or ADR memory. | |
2786 | ||
ef61f8a3 JS |
2787 | memmap=<size>%<offset>-<oldtype>+<newtype> |
2788 | [KNL,ACPI] Convert memory within the specified region | |
2789 | from <oldtype> to <newtype>. If "-<oldtype>" is left | |
2790 | out, the whole region will be marked as <newtype>, | |
2791 | even if previously unavailable. If "+<newtype>" is left | |
2792 | out, matching memory will be removed. Types are | |
2793 | specified as e820 types, e.g., 1 = RAM, 2 = reserved, | |
2794 | 3 = ACPI, 12 = PRAM. | |
2795 | ||
9f077871 JF |
2796 | memory_corruption_check=0/1 [X86] |
2797 | Some BIOSes seem to corrupt the first 64k of | |
2798 | memory when doing things like suspend/resume. | |
2799 | Setting this option will scan the memory | |
2800 | looking for corruption. Enabling this will | |
2801 | both detect corruption and prevent the kernel | |
2802 | from using the memory being corrupted. | |
2803 | However, its intended as a diagnostic tool; if | |
2804 | repeatable BIOS-originated corruption always | |
2805 | affects the same memory, you can use memmap= | |
2806 | to prevent the kernel from using that memory. | |
2807 | ||
2808 | memory_corruption_check_size=size [X86] | |
2809 | By default it checks for corruption in the low | |
2810 | 64k, making this memory unavailable for normal | |
2811 | use. Use this parameter to scan for | |
2812 | corruption in more or less memory. | |
2813 | ||
2814 | memory_corruption_check_period=seconds [X86] | |
2815 | By default it checks for corruption every 60 | |
2816 | seconds. Use this parameter to check at some | |
2817 | other rate. 0 disables periodic checking. | |
2818 | ||
e3a9d9fc OS |
2819 | memory_hotplug.memmap_on_memory |
2820 | [KNL,X86,ARM] Boolean flag to enable this feature. | |
2821 | Format: {on | off (default)} | |
2822 | When enabled, runtime hotplugged memory will | |
2823 | allocate its internal metadata (struct pages) | |
2824 | from the hotadded memory which will allow to | |
2825 | hotadd a lot of memory without requiring | |
2826 | additional memory to do so. | |
2827 | This feature is disabled by default because it | |
2828 | has some implication on large (e.g. GB) | |
2829 | allocations in some configurations (e.g. small | |
2830 | memory blocks). | |
2831 | The state of the flag can be read in | |
2832 | /sys/module/memory_hotplug/parameters/memmap_on_memory. | |
2833 | Note that even when enabled, there are a few cases where | |
2834 | the feature is not effective. | |
2835 | ||
f6e5aedf | 2836 | memtest= [KNL,X86,ARM,PPC,RISCV] Enable memtest |
c64df707 | 2837 | Format: <integer> |
c64df707 | 2838 | default : 0 <disable> |
9e5f6cf5 AH |
2839 | Specifies the number of memtest passes to be |
2840 | performed. Each pass selects another test | |
2841 | pattern from a given set of patterns. Memtest | |
2842 | fills the memory with this pattern, validates | |
2843 | memory contents and reserves bad memory | |
2844 | regions that are detected. | |
c64df707 | 2845 | |
c262f3b9 TL |
2846 | mem_encrypt= [X86-64] AMD Secure Memory Encryption (SME) control |
2847 | Valid arguments: on, off | |
2848 | Default (depends on kernel configuration option): | |
2849 | on (CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=y) | |
2850 | off (CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=n) | |
2851 | mem_encrypt=on: Activate SME | |
2852 | mem_encrypt=off: Do not activate SME | |
2853 | ||
2f5947df | 2854 | Refer to Documentation/virt/kvm/amd-memory-encryption.rst |
c262f3b9 TL |
2855 | for details on when memory encryption can be activated. |
2856 | ||
406e7938 RW |
2857 | mem_sleep_default= [SUSPEND] Default system suspend mode: |
2858 | s2idle - Suspend-To-Idle | |
2859 | shallow - Power-On Suspend or equivalent (if supported) | |
2860 | deep - Suspend-To-RAM or equivalent (if supported) | |
58e7cb9e | 2861 | See Documentation/admin-guide/pm/sleep-states.rst. |
406e7938 | 2862 | |
1da177e4 | 2863 | meye.*= [HW] Set MotionEye Camera parameters |
32e2eae2 | 2864 | See Documentation/admin-guide/media/meye.rst. |
1da177e4 | 2865 | |
8f36881b AS |
2866 | mfgpt_irq= [IA-32] Specify the IRQ to use for the |
2867 | Multi-Function General Purpose Timers on AMD Geode | |
2868 | platforms. | |
2869 | ||
e6c4dc6c WT |
2870 | mfgptfix [X86-32] Fix MFGPT timers on AMD Geode platforms when |
2871 | the BIOS has incorrectly applied a workaround. TinyBIOS | |
2872 | version 0.98 is known to be affected, 0.99 fixes the | |
2873 | problem by letting the user disable the workaround. | |
2874 | ||
1da177e4 LT |
2875 | mga= [HW,DRM] |
2876 | ||
1c207f95 RD |
2877 | min_addr=nn[KMG] [KNL,BOOT,ia64] All physical memory below this |
2878 | physical address is ignored. | |
2879 | ||
39f45d7b MP |
2880 | mini2440= [ARM,HW,KNL] |
2881 | Format:[0..2][b][c][t] | |
2882 | Default: "0tb" | |
2883 | MINI2440 configuration specification: | |
2884 | 0 - The attached screen is the 3.5" TFT | |
2885 | 1 - The attached screen is the 7" TFT | |
2886 | 2 - The VGA Shield is attached (1024x768) | |
2887 | Leaving out the screen size parameter will not load | |
2888 | the TFT driver, and the framebuffer will be left | |
2889 | unconfigured. | |
2890 | b - Enable backlight. The TFT backlight pin will be | |
2891 | linked to the kernel VESA blanking code and a GPIO | |
2892 | LED. This parameter is not necessary when using the | |
2893 | VGA shield. | |
2894 | c - Enable the s3c camera interface. | |
2895 | t - Reserved for enabling touchscreen support. The | |
2896 | touchscreen support is not enabled in the mainstream | |
2897 | kernel as of 2.6.30, a preliminary port can be found | |
2898 | in the "bleeding edge" mini2440 support kernel at | |
6b2484e1 | 2899 | https://repo.or.cz/w/linux-2.6/mini2440.git |
39f45d7b | 2900 | |
98af8452 | 2901 | mitigations= |
a111b7c0 JP |
2902 | [X86,PPC,S390,ARM64] Control optional mitigations for |
2903 | CPU vulnerabilities. This is a set of curated, | |
d68be4c4 JP |
2904 | arch-independent options, each of which is an |
2905 | aggregation of existing arch-specific options. | |
98af8452 JP |
2906 | |
2907 | off | |
2908 | Disable all optional CPU mitigations. This | |
2909 | improves system performance, but it may also | |
2910 | expose users to several CPU vulnerabilities. | |
782e69ef | 2911 | Equivalent to: nopti [X86,PPC] |
a111b7c0 | 2912 | kpti=0 [ARM64] |
a2059825 | 2913 | nospectre_v1 [X86,PPC] |
0336e04a | 2914 | nobp=0 [S390] |
a111b7c0 | 2915 | nospectre_v2 [X86,PPC,S390,ARM64] |
d68be4c4 | 2916 | spectre_v2_user=off [X86] |
782e69ef | 2917 | spec_store_bypass_disable=off [X86,PPC] |
a111b7c0 | 2918 | ssbd=force-off [ARM64] |
d68be4c4 | 2919 | l1tf=off [X86] |
5c14068f | 2920 | mds=off [X86] |
a7a248c5 | 2921 | tsx_async_abort=off [X86] |
b8e8c830 | 2922 | kvm.nx_huge_pages=off [X86] |
f7964378 | 2923 | no_entry_flush [PPC] |
9a32a7e7 | 2924 | no_uaccess_flush [PPC] |
b8e8c830 PB |
2925 | |
2926 | Exceptions: | |
2927 | This does not have any effect on | |
2928 | kvm.nx_huge_pages when | |
2929 | kvm.nx_huge_pages=force. | |
98af8452 JP |
2930 | |
2931 | auto (default) | |
2932 | Mitigate all CPU vulnerabilities, but leave SMT | |
2933 | enabled, even if it's vulnerable. This is for | |
2934 | users who don't want to be surprised by SMT | |
2935 | getting disabled across kernel upgrades, or who | |
2936 | have other ways of avoiding SMT-based attacks. | |
d68be4c4 | 2937 | Equivalent to: (default behavior) |
98af8452 JP |
2938 | |
2939 | auto,nosmt | |
2940 | Mitigate all CPU vulnerabilities, disabling SMT | |
2941 | if needed. This is for users who always want to | |
2942 | be fully mitigated, even if it means losing SMT. | |
d68be4c4 | 2943 | Equivalent to: l1tf=flush,nosmt [X86] |
5c14068f | 2944 | mds=full,nosmt [X86] |
a7a248c5 | 2945 | tsx_async_abort=full,nosmt [X86] |
98af8452 | 2946 | |
6b74ab97 MG |
2947 | mminit_loglevel= |
2948 | [KNL] When CONFIG_DEBUG_MEMORY_INIT is set, this | |
2949 | parameter allows control of the logging verbosity for | |
2950 | the additional memory initialisation checks. A value | |
2951 | of 0 disables mminit logging and a level of 4 will | |
2952 | log everything. Information is printed at KERN_DEBUG | |
2953 | so loglevel=8 may also need to be specified. | |
2954 | ||
106a4ee2 RR |
2955 | module.sig_enforce |
2956 | [KNL] When CONFIG_MODULE_SIG is set, this means that | |
2957 | modules without (valid) signatures will fail to load. | |
2a039be7 | 2958 | Note that if CONFIG_MODULE_SIG_FORCE is set, that |
106a4ee2 RR |
2959 | is always true, so this option does nothing. |
2960 | ||
be7de5f9 PB |
2961 | module_blacklist= [KNL] Do not load a comma-separated list of |
2962 | modules. Useful for debugging problem modules. | |
2963 | ||
1da177e4 LT |
2964 | mousedev.tap_time= |
2965 | [MOUSE] Maximum time between finger touching and | |
2966 | leaving touchpad surface for touch to be considered | |
2967 | a tap and be reported as a left button click (for | |
2968 | touchpads working in absolute mode only). | |
2969 | Format: <msecs> | |
2970 | mousedev.xres= [MOUSE] Horizontal screen resolution, used for devices | |
2971 | reporting absolute coordinates, such as tablets | |
2972 | mousedev.yres= [MOUSE] Vertical screen resolution, used for devices | |
2973 | reporting absolute coordinates, such as tablets | |
2974 | ||
a5c6d650 DR |
2975 | movablecore= [KNL,X86,IA-64,PPC] |
2976 | Format: nn[KMGTPE] | nn% | |
2977 | This parameter is the complement to kernelcore=, it | |
2978 | specifies the amount of memory used for migratable | |
2979 | allocations. If both kernelcore and movablecore is | |
2980 | specified, then kernelcore will be at *least* the | |
2981 | specified value but may be more. If movablecore on its | |
2982 | own is specified, the administrator must be careful | |
0cb55ad2 RD |
2983 | that the amount of memory usable for all allocations |
2984 | is not too small. | |
2985 | ||
f70029bb MH |
2986 | movable_node [KNL] Boot-time switch to make hotplugable memory |
2987 | NUMA nodes to be movable. This means that the memory | |
2988 | of such nodes will be usable only for movable | |
2989 | allocations which rules out almost all kernel | |
2990 | allocations. Use with caution! | |
c5320926 | 2991 | |
1da177e4 LT |
2992 | MTD_Partition= [MTD] |
2993 | Format: <name>,<region-number>,<size>,<offset> | |
2994 | ||
a9913044 RD |
2995 | MTD_Region= [MTD] Format: |
2996 | <name>,<region-number>[,<base>,<size>,<buswidth>,<altbuswidth>] | |
1da177e4 LT |
2997 | |
2998 | mtdparts= [MTD] | |
fb251124 | 2999 | See drivers/mtd/parsers/cmdlinepart.c |
1da177e4 | 3000 | |
4e89a2d8 WS |
3001 | multitce=off [PPC] This parameter disables the use of the pSeries |
3002 | firmware feature for updating multiple TCE entries | |
3003 | at a time. | |
3004 | ||
5988af23 RH |
3005 | onenand.bdry= [HW,MTD] Flex-OneNAND Boundary Configuration |
3006 | ||
3007 | Format: [die0_boundary][,die0_lock][,die1_boundary][,die1_lock] | |
3008 | ||
3009 | boundary - index of last SLC block on Flex-OneNAND. | |
3010 | The remaining blocks are configured as MLC blocks. | |
3011 | lock - Configure if Flex-OneNAND boundary should be locked. | |
3012 | Once locked, the boundary cannot be changed. | |
3013 | 1 indicates lock status, 0 indicates unlock status. | |
3014 | ||
9db829f4 BD |
3015 | mtdset= [ARM] |
3016 | ARM/S3C2412 JIVE boot control | |
3017 | ||
0f12999e | 3018 | See arch/arm/mach-s3c/mach-jive.c |
9db829f4 | 3019 | |
1da177e4 | 3020 | mtouchusb.raw_coordinates= |
a9913044 RD |
3021 | [HW] Make the MicroTouch USB driver use raw coordinates |
3022 | ('y', default) or cooked coordinates ('n') | |
1da177e4 | 3023 | |
0cb55ad2 | 3024 | mtrr_chunk_size=nn[KMG] [X86] |
19f59460 | 3025 | used for mtrr cleanup. It is largest continuous chunk |
0cb55ad2 RD |
3026 | that could hold holes aka. UC entries. |
3027 | ||
3028 | mtrr_gran_size=nn[KMG] [X86] | |
3029 | Used for mtrr cleanup. It is granularity of mtrr block. | |
3030 | Default is 1. | |
3031 | Large value could prevent small alignment from | |
3032 | using up MTRRs. | |
3033 | ||
3034 | mtrr_spare_reg_nr=n [X86] | |
3035 | Format: <integer> | |
3036 | Range: 0,7 : spare reg number | |
3037 | Default : 1 | |
3038 | Used for mtrr cleanup. It is spare mtrr entries number. | |
3039 | Set to 2 or more if your graphical card needs more. | |
3040 | ||
1da177e4 LT |
3041 | n2= [NET] SDL Inc. RISCom/N2 synchronous serial card |
3042 | ||
1da177e4 LT |
3043 | netdev= [NET] Network devices parameters |
3044 | Format: <irq>,<io>,<mem_start>,<mem_end>,<name> | |
3045 | Note that mem_start is often overloaded to mean | |
3046 | something different and driver-specific. | |
a9913044 RD |
3047 | This usage is only documented in each driver source |
3048 | file if at all. | |
3049 | ||
58401572 KPO |
3050 | nf_conntrack.acct= |
3051 | [NETFILTER] Enable connection tracking flow accounting | |
3052 | 0 to disable accounting | |
3053 | 1 to enable accounting | |
d70a011d | 3054 | Default value is 0. |
58401572 | 3055 | |
306a0753 | 3056 | nfsaddrs= [NFS] Deprecated. Use ip= instead. |
3eb30c51 | 3057 | See Documentation/admin-guide/nfs/nfsroot.rst. |
1da177e4 LT |
3058 | |
3059 | nfsroot= [NFS] nfs root filesystem for disk-less boxes. | |
3eb30c51 | 3060 | See Documentation/admin-guide/nfs/nfsroot.rst. |
1da177e4 | 3061 | |
306a0753 | 3062 | nfsrootdebug [NFS] enable nfsroot debugging messages. |
3eb30c51 | 3063 | See Documentation/admin-guide/nfs/nfsroot.rst. |
306a0753 | 3064 | |
5405fc44 TM |
3065 | nfs.callback_nr_threads= |
3066 | [NFSv4] set the total number of threads that the | |
3067 | NFS client will assign to service NFSv4 callback | |
3068 | requests. | |
3069 | ||
a72b4422 TM |
3070 | nfs.callback_tcpport= |
3071 | [NFS] set the TCP port on which the NFSv4 callback | |
3072 | channel should listen. | |
3073 | ||
e571cbf1 TM |
3074 | nfs.cache_getent= |
3075 | [NFS] sets the pathname to the program which is used | |
3076 | to update the NFS client cache entries. | |
3077 | ||
3078 | nfs.cache_getent_timeout= | |
3079 | [NFS] sets the timeout after which an attempt to | |
3080 | update a cache entry is deemed to have failed. | |
3081 | ||
58df095b TM |
3082 | nfs.idmap_cache_timeout= |
3083 | [NFS] set the maximum lifetime for idmapper cache | |
3084 | entries. | |
3085 | ||
f43bf0be TM |
3086 | nfs.enable_ino64= |
3087 | [NFS] enable 64-bit inode numbers. | |
3088 | If zero, the NFS client will fake up a 32-bit inode | |
3089 | number for the readdir() and stat() syscalls instead | |
3090 | of returning the full 64-bit number. | |
3091 | The default is to return 64-bit inode numbers. | |
3092 | ||
5405fc44 TM |
3093 | nfs.max_session_cb_slots= |
3094 | [NFSv4.1] Sets the maximum number of session | |
3095 | slots the client will assign to the callback | |
3096 | channel. This determines the maximum number of | |
3097 | callbacks the client will process in parallel for | |
3098 | a particular server. | |
3099 | ||
ef159e91 TM |
3100 | nfs.max_session_slots= |
3101 | [NFSv4.1] Sets the maximum number of session slots | |
3102 | the client will attempt to negotiate with the server. | |
3103 | This limits the number of simultaneous RPC requests | |
3104 | that the client can send to the NFSv4.1 server. | |
3105 | Note that there is little point in setting this | |
3106 | value higher than the max_tcp_slot_table_limit. | |
3107 | ||
b064eca2 | 3108 | nfs.nfs4_disable_idmapping= |
074b1d12 TM |
3109 | [NFSv4] When set to the default of '1', this option |
3110 | ensures that both the RPC level authentication | |
3111 | scheme and the NFS level operations agree to use | |
3112 | numeric uids/gids if the mount is using the | |
3113 | 'sec=sys' security flavour. In effect it is | |
3114 | disabling idmapping, which can make migration from | |
3115 | legacy NFSv2/v3 systems to NFSv4 easier. | |
3116 | Servers that do not support this mode of operation | |
3117 | will be autodetected by the client, and it will fall | |
3118 | back to using the idmapper. | |
3119 | To turn off this behaviour, set the value to '0'. | |
6f2ea7f2 CL |
3120 | nfs.nfs4_unique_id= |
3121 | [NFS4] Specify an additional fixed unique ident- | |
3122 | ification string that NFSv4 clients can insert into | |
3123 | their nfs_client_id4 string. This is typically a | |
3124 | UUID that is generated at system install time. | |
b064eca2 | 3125 | |
db8ac8ba WAA |
3126 | nfs.send_implementation_id = |
3127 | [NFSv4.1] Send client implementation identification | |
3128 | information in exchange_id requests. | |
3129 | If zero, no implementation identification information | |
3130 | will be sent. | |
3131 | The default is to send the implementation identification | |
3132 | information. | |
e52347bd | 3133 | |
f6de7a39 TM |
3134 | nfs.recover_lost_locks = |
3135 | [NFSv4] Attempt to recover locks that were lost due | |
3136 | to a lease timeout on the server. Please note that | |
3137 | doing this risks data corruption, since there are | |
3138 | no guarantees that the file will remain unchanged | |
3139 | after the locks are lost. | |
3140 | If you want to enable the kernel legacy behaviour of | |
3141 | attempting to recover these locks, then set this | |
3142 | parameter to '1'. | |
3143 | The default parameter value of '0' causes the kernel | |
3144 | not to attempt recovery of lost locks. | |
db8ac8ba | 3145 | |
bbf58bf3 TM |
3146 | nfs4.layoutstats_timer = |
3147 | [NFSv4.2] Change the rate at which the kernel sends | |
3148 | layoutstats to the pNFS metadata server. | |
3149 | ||
3150 | Setting this to value to 0 causes the kernel to use | |
3151 | whatever value is the default set by the layout | |
3152 | driver. A non-zero value sets the minimum interval | |
3153 | in seconds between layoutstats transmissions. | |
3154 | ||
e9541ce8 BF |
3155 | nfsd.nfs4_disable_idmapping= |
3156 | [NFSv4] When set to the default of '1', the NFSv4 | |
3157 | server will return only numeric uids and gids to | |
3158 | clients using auth_sys, and will accept numeric uids | |
3159 | and gids from such clients. This is intended to ease | |
3160 | migration from NFSv2/v3. | |
db8ac8ba | 3161 | |
160c7ba3 PM |
3162 | nmi_backtrace.backtrace_idle [KNL] |
3163 | Dump stacks even of idle CPUs in response to an | |
3164 | NMI stack-backtrace request. | |
3165 | ||
c0c74acb | 3166 | nmi_debug= [KNL,SH] Specify one or more actions to take |
e7ba176b HS |
3167 | when a NMI is triggered. |
3168 | Format: [state][,regs][,debounce][,die] | |
3169 | ||
6cececfc | 3170 | nmi_watchdog= [KNL,BUGS=X86] Debugging features for SMP kernels |
fef2c9bc | 3171 | Format: [panic,][nopanic,][num] |
195daf66 | 3172 | Valid num: 0 or 1 |
334bb79c PK |
3173 | 0 - turn hardlockup detector in nmi_watchdog off |
3174 | 1 - turn hardlockup detector in nmi_watchdog on | |
0cb55ad2 | 3175 | When panic is specified, panic when an NMI watchdog |
93285c01 ZD |
3176 | timeout occurs (or 'nopanic' to not panic on an NMI |
3177 | watchdog, if CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is set) | |
3178 | To disable both hard and soft lockup detectors, | |
334bb79c | 3179 | please see 'nowatchdog'. |
0cb55ad2 RD |
3180 | This is useful when you use a panic=... timeout and |
3181 | need the box quickly up again. | |
1da177e4 | 3182 | |
d22881dc SW |
3183 | These settings can be accessed at runtime via |
3184 | the nmi_watchdog and hardlockup_panic sysctls. | |
3185 | ||
bff38771 AV |
3186 | netpoll.carrier_timeout= |
3187 | [NET] Specifies amount of time (in seconds) that | |
3188 | netpoll should wait for a carrier. By default netpoll | |
3189 | waits 4 seconds. | |
3190 | ||
cd4f0ef7 | 3191 | no387 [BUGS=X86-32] Tells the kernel to use the 387 maths |
1da177e4 LT |
3192 | emulation library even if a 387 maths coprocessor |
3193 | is present. | |
3194 | ||
372fddf7 KS |
3195 | no5lvl [X86-64] Disable 5-level paging mode. Forces |
3196 | kernel to use 4-level paging instead. | |
3197 | ||
b745cfba | 3198 | nofsgsbase [X86] Disables FSGSBASE instructions. |
dd649bd0 | 3199 | |
0cb55ad2 RD |
3200 | no_console_suspend |
3201 | [HW] Never suspend the console | |
3202 | Disable suspending of consoles during suspend and | |
3203 | hibernate operations. Once disabled, debugging | |
3204 | messages can reach various consoles while the rest | |
3205 | of the system is being put to sleep (ie, while | |
3206 | debugging driver suspend/resume hooks). This may | |
3207 | not work reliably with all consoles, but is known | |
3208 | to work with serial and VGA consoles. | |
134620f7 YZ |
3209 | To facilitate more flexible debugging, we also add |
3210 | console_suspend, a printk module parameter to control | |
3211 | it. Users could use console_suspend (usually | |
3212 | /sys/module/printk/parameters/console_suspend) to | |
3213 | turn on/off it dynamically. | |
0cb55ad2 | 3214 | |
c6c40533 KS |
3215 | novmcoredd [KNL,KDUMP] |
3216 | Disable device dump. Device dump allows drivers to | |
3217 | append dump data to vmcore so you can collect driver | |
3218 | specified debug info. Drivers can append the data | |
3219 | without any limit and this data is stored in memory, | |
3220 | so this may cause significant memory stress. Disabling | |
3221 | device dump can help save memory but the driver debug | |
3222 | data will be no longer available. This parameter | |
3223 | is only available when CONFIG_PROC_VMCORE_DEVICE_DUMP | |
3224 | is set. | |
3225 | ||
c1aee215 CL |
3226 | noaliencache [MM, NUMA, SLAB] Disables the allocation of alien |
3227 | caches in the slab allocator. Saves per-node memory, | |
3228 | but will impact performance. | |
3395ee05 | 3229 | |
a9913044 RD |
3230 | noalign [KNL,ARM] |
3231 | ||
686140a1 VG |
3232 | noaltinstr [S390] Disables alternative instructions patching |
3233 | (CPU alternatives feature). | |
3234 | ||
1da177e4 LT |
3235 | noapic [SMP,APIC] Tells the kernel to not make use of any |
3236 | IOAPICs that may be present in the system. | |
3237 | ||
5091faa4 MG |
3238 | noautogroup Disable scheduler automatic task group creation. |
3239 | ||
1da177e4 LT |
3240 | nobats [PPC] Do not use BATs for mapping kernel lowmem |
3241 | on "Classic" PPC cores. | |
3242 | ||
3243 | nocache [ARM] | |
a9913044 | 3244 | |
0cb55ad2 RD |
3245 | noclflush [BUGS=X86] Don't use the CLFLUSH instruction |
3246 | ||
163ecdff SN |
3247 | nodelayacct [KNL] Disable per-task delay accounting |
3248 | ||
6902aa84 PM |
3249 | nodsp [SH] Disable hardware DSP at boot time. |
3250 | ||
b2e0a54a | 3251 | noefi Disable EFI runtime services support. |
8b2cb7a8 | 3252 | |
f7964378 NP |
3253 | no_entry_flush [PPC] Don't flush the L1-D cache when entering the kernel. |
3254 | ||
1da177e4 LT |
3255 | noexec [IA-64] |
3256 | ||
6cececfc | 3257 | noexec [X86] |
f5a1b191 | 3258 | On X86-32 available only on PAE configured kernels. |
1da177e4 | 3259 | noexec=on: enable non-executable mappings (default) |
f5a1b191 JS |
3260 | noexec=off: disable non-executable mappings |
3261 | ||
de78a9c4 | 3262 | nosmap [X86,PPC] |
52b6179a PA |
3263 | Disable SMAP (Supervisor Mode Access Prevention) |
3264 | even if it is supported by processor. | |
3265 | ||
0fb1c25a | 3266 | nosmep [X86,PPC] |
52b6179a | 3267 | Disable SMEP (Supervisor Mode Execution Prevention) |
de5397ad FY |
3268 | even if it is supported by processor. |
3269 | ||
f5a1b191 JS |
3270 | noexec32 [X86-64] |
3271 | This affects only 32-bit executables. | |
3272 | noexec32=on: enable non-executable mappings (default) | |
3273 | read doesn't imply executable mappings | |
3274 | noexec32=off: disable non-executable mappings | |
3275 | read implies executable mappings | |
1da177e4 | 3276 | |
fab43ef4 | 3277 | nofpu [MIPS,SH] Disable hardware FPU at boot time. |
6902aa84 | 3278 | |
cd4f0ef7 | 3279 | nofxsr [BUGS=X86-32] Disables x86 floating point extended |
4f886511 CE |
3280 | register save and restore. The kernel will only save |
3281 | legacy floating-point registers on task switch. | |
1da177e4 | 3282 | |
5b280ed4 | 3283 | nohugeiomap [KNL,X86,PPC,ARM64] Disable kernel huge I/O mappings. |
0ddab1d2 | 3284 | |
8abddd96 NP |
3285 | nohugevmalloc [PPC] Disable kernel huge vmalloc mappings. |
3286 | ||
52c48c51 SS |
3287 | nosmt [KNL,S390] Disable symmetric multithreading (SMT). |
3288 | Equivalent to smt=1. | |
3289 | ||
be3a5b0e | 3290 | [KNL,X86] Disable symmetric multithreading (SMT). |
506a66f3 TG |
3291 | nosmt=force: Force disable SMT, cannot be undone |
3292 | via the sysfs control file. | |
5e2d059b | 3293 | |
a2059825 JP |
3294 | nospectre_v1 [X86,PPC] Disable mitigations for Spectre Variant 1 |
3295 | (bounds check bypass). With this option data leaks are | |
3296 | possible in the system. | |
05736e4a | 3297 | |
e5ce5e72 JL |
3298 | nospectre_v2 [X86,PPC_FSL_BOOK3E,ARM64] Disable all mitigations for |
3299 | the Spectre variant 2 (indirect branch prediction) | |
3300 | vulnerability. System may allow data leaks with this | |
3301 | option. | |
da285121 | 3302 | |
24f7fc83 KRW |
3303 | nospec_store_bypass_disable |
3304 | [HW] Disable all mitigations for the Speculative Store Bypass vulnerability | |
3305 | ||
9a32a7e7 NP |
3306 | no_uaccess_flush |
3307 | [PPC] Don't flush the L1-D cache after accessing user data. | |
3308 | ||
0c752a93 SS |
3309 | noxsave [BUGS=X86] Disables x86 extended register state save |
3310 | and restore using xsave. The kernel will fallback to | |
3311 | enabling legacy floating-point and sse state. | |
3312 | ||
b6f42a4a FY |
3313 | noxsaveopt [X86] Disables xsaveopt used in saving x86 extended |
3314 | register states. The kernel will fall back to use | |
3315 | xsave to save the states. By using this parameter, | |
3316 | performance of saving the states is degraded because | |
3317 | xsave doesn't support modified optimization while | |
3318 | xsaveopt supports it on xsaveopt enabled systems. | |
3319 | ||
3320 | noxsaves [X86] Disables xsaves and xrstors used in saving and | |
3321 | restoring x86 extended register state in compacted | |
3322 | form of xsave area. The kernel will fall back to use | |
3323 | xsaveopt and xrstor to save and restore the states | |
3324 | in standard form of xsave area. By using this | |
3325 | parameter, xsave area per process might occupy more | |
3326 | memory on xsaves enabled systems. | |
3327 | ||
3cae85f5 FF |
3328 | nohlt [ARM,ARM64,MICROBLAZE,SH] Forces the kernel to busy wait |
3329 | in do_idle() and not use the arch_cpu_idle() | |
3330 | implementation; requires CONFIG_GENERIC_IDLE_POLL_SETUP | |
3331 | to be effective. This is useful on platforms where the | |
3332 | sleep(SH) or wfi(ARM,ARM64) instructions do not work | |
3333 | correctly or when doing power measurements to evalute | |
3334 | the impact of the sleep instructions. This is also | |
3335 | useful when using JTAG debugger. | |
a9913044 | 3336 | |
1f29fae2 SH |
3337 | no_file_caps Tells the kernel not to honor file capabilities. The |
3338 | only way then for a file to be executed with privilege | |
3339 | is to be setuid root or executed by root. | |
3340 | ||
1da177e4 LT |
3341 | nohalt [IA-64] Tells the kernel not to use the power saving |
3342 | function PAL_HALT_LIGHT when idle. This increases | |
3343 | power-consumption. On the positive side, it reduces | |
3344 | interrupt wake-up latency, which may improve performance | |
3345 | in certain environments such as networked servers or | |
3346 | real-time systems. | |
3347 | ||
5ead723a TT |
3348 | no_hash_pointers |
3349 | Force pointers printed to the console or buffers to be | |
3350 | unhashed. By default, when a pointer is printed via %p | |
3351 | format string, that pointer is "hashed", i.e. obscured | |
3352 | by hashing the pointer value. This is a security feature | |
3353 | that hides actual kernel addresses from unprivileged | |
3354 | users, but it also makes debugging the kernel more | |
3355 | difficult since unequal pointers can no longer be | |
3356 | compared. However, if this command-line option is | |
3357 | specified, then all normal pointers will have their true | |
3358 | value printed. Pointers printed via %pK may still be | |
3359 | hashed. This option should only be specified when | |
3360 | debugging the kernel. Please do not use on production | |
3361 | kernels. | |
3362 | ||
a6e15a39 KC |
3363 | nohibernate [HIBERNATION] Disable hibernation and resume. |
3364 | ||
79bf2bb3 TG |
3365 | nohz= [KNL] Boottime enable/disable dynamic ticks |
3366 | Valid arguments: on, off | |
3367 | Default: on | |
3368 | ||
d94d1053 | 3369 | nohz_full= [KNL,BOOT,SMP,ISOL] |
2d13e6ca | 3370 | The argument is a cpu list, as described above. |
c5bfece2 | 3371 | In kernels built with CONFIG_NO_HZ_FULL=y, set |
a831881b | 3372 | the specified list of CPUs whose tick will be stopped |
0453b435 | 3373 | whenever possible. The boot CPU will be forced outside |
f99bcb2c PM |
3374 | the range to maintain the timekeeping. Any CPUs |
3375 | in this list will have their RCU callbacks offloaded, | |
3376 | just as if they had also been called out in the | |
3377 | rcu_nocbs= boot parameter. | |
a831881b | 3378 | |
eeee7853 PM |
3379 | noiotrap [SH] Disables trapped I/O port accesses. |
3380 | ||
cd4f0ef7 | 3381 | noirqdebug [X86-32] Disables the code which attempts to detect and |
1da177e4 LT |
3382 | disable unhandled interrupt sources. |
3383 | ||
6cececfc | 3384 | no_timer_check [X86,APIC] Disables the code which tests for |
8542b200 ZA |
3385 | broken timer IRQ sources. |
3386 | ||
1da177e4 LT |
3387 | noisapnp [ISAPNP] Disables ISA PnP code. |
3388 | ||
3389 | noinitrd [RAM] Tells the kernel not to load any configured | |
3390 | initial RAM disk. | |
3391 | ||
03ea8155 WH |
3392 | nointremap [X86-64, Intel-IOMMU] Do not enable interrupt |
3393 | remapping. | |
d1423d56 | 3394 | [Deprecated - use intremap=off] |
03ea8155 | 3395 | |
1da177e4 LT |
3396 | nointroute [IA-64] |
3397 | ||
d12a72b8 AL |
3398 | noinvpcid [X86] Disable the INVPCID cpu feature. |
3399 | ||
16290246 | 3400 | nojitter [IA-64] Disables jitter checking for ITC timers. |
0aa366f3 | 3401 | |
9cf4c4fc JK |
3402 | no-kvmclock [X86,KVM] Disable paravirtualized KVM clock driver |
3403 | ||
fd10cde9 GN |
3404 | no-kvmapf [X86,KVM] Disable paravirtualized asynchronous page |
3405 | fault handling. | |
3406 | ||
80e9a4f2 AM |
3407 | no-vmw-sched-clock |
3408 | [X86,PV_OPS] Disable paravirtualized VMware scheduler | |
3409 | clock and use the default one. | |
3410 | ||
e73a8f38 | 3411 | no-steal-acc [X86,PV_OPS,ARM64] Disable paravirtualized steal time |
e0685fa2 SP |
3412 | accounting. steal time is computed, but won't |
3413 | influence scheduler behaviour | |
d910f5c1 | 3414 | |
cd4f0ef7 | 3415 | nolapic [X86-32,APIC] Do not enable or use the local APIC. |
1da177e4 | 3416 | |
cd4f0ef7 | 3417 | nolapic_timer [X86-32,APIC] Do not use the local APIC timer. |
ad62ca2b | 3418 | |
1da177e4 | 3419 | noltlbs [PPC] Do not use large page/tlb entries for kernel |
f15eea66 | 3420 | lowmem mapping on PPC40x and PPC8xx |
1da177e4 | 3421 | |
312f1f01 H |
3422 | nomca [IA-64] Disable machine check abort handling |
3423 | ||
13696e0a | 3424 | nomce [X86-32] Disable Machine Check Exception |
abe37e5a | 3425 | |
83d7384f AS |
3426 | nomfgpt [X86-32] Disable Multi-Function General Purpose |
3427 | Timer usage (for AMD Geode machines). | |
3428 | ||
bda62633 DZ |
3429 | nonmi_ipi [X86] Disable using NMI IPIs during panic/reboot to |
3430 | shutdown the other cpus. Instead use the REBOOT_VECTOR | |
3431 | irq. | |
3432 | ||
02608bef DY |
3433 | nomodule Disable module load |
3434 | ||
016ddd9b JK |
3435 | nopat [X86] Disable PAT (page attribute table extension of |
3436 | pagetables) support. | |
3437 | ||
0790c9aa AL |
3438 | nopcid [X86-64] Disable the PCID cpu feature. |
3439 | ||
0cb55ad2 RD |
3440 | norandmaps Don't use address space randomization. Equivalent to |
3441 | echo 0 > /proc/sys/kernel/randomize_va_space | |
3442 | ||
cd4f0ef7 | 3443 | noreplace-smp [X86-32,SMP] Don't replace SMP instructions |
b7fb4af0 JF |
3444 | with UP alternatives |
3445 | ||
7a5091d5 PA |
3446 | nordrand [X86] Disable kernel use of the RDRAND and |
3447 | RDSEED instructions even if they are supported | |
3448 | by the processor. RDRAND and RDSEED are still | |
3449 | available to user space applications. | |
49d859d7 | 3450 | |
a9913044 RD |
3451 | noresume [SWSUSP] Disables resume and restores original swap |
3452 | space. | |
3453 | ||
1da177e4 LT |
3454 | no-scroll [VGA] Disables scrollback. |
3455 | This is required for the Braillex ib80-piezo Braille | |
3456 | reader made by F.H. Papenmeier (Germany). | |
3457 | ||
3458 | nosbagart [IA-64] | |
3459 | ||
cd4f0ef7 | 3460 | nosep [BUGS=X86-32] Disables x86 SYSENTER/SYSEXIT support. |
4f886511 | 3461 | |
38853a30 JS |
3462 | nosgx [X86-64,SGX] Disables Intel SGX kernel support. |
3463 | ||
61ec7567 LB |
3464 | nosmp [SMP] Tells an SMP kernel to act as a UP kernel, |
3465 | and disable the IO APIC. legacy for "maxcpus=0". | |
1da177e4 | 3466 | |
97842216 DJ |
3467 | nosoftlockup [KNL] Disable the soft-lockup detector. |
3468 | ||
1da177e4 LT |
3469 | nosync [HW,M68K] Disables sync negotiation for all devices. |
3470 | ||
195daf66 | 3471 | nowatchdog [KNL] Disable both lockup detectors, i.e. |
6dddd7a7 | 3472 | soft-lockup and NMI watchdog (hard-lockup). |
58687acb | 3473 | |
1da177e4 | 3474 | nowb [ARM] |
a9913044 | 3475 | |
2b2fd87a WH |
3476 | nox2apic [X86-64,APIC] Do not enable x2APIC mode. |
3477 | ||
f78cff48 FY |
3478 | cpu0_hotplug [X86] Turn on CPU0 hotplug feature when |
3479 | CONFIG_BOOTPARAM_HOTPLUG_CPU0 is off. | |
3480 | Some features depend on CPU0. Known dependencies are: | |
3481 | 1. Resume from suspend/hibernate depends on CPU0. | |
3482 | Suspend/hibernate will fail if CPU0 is offline and you | |
3483 | need to online CPU0 before suspend/hibernate. | |
3484 | 2. PIC interrupts also depend on CPU0. CPU0 can't be | |
3485 | removed if a PIC interrupt is detected. | |
3486 | It's said poweroff/reboot may depend on CPU0 on some | |
3487 | machines although I haven't seen such issues so far | |
3488 | after CPU0 is offline on a few tested machines. | |
3489 | If the dependencies are under your control, you can | |
3490 | turn on cpu0_hotplug. | |
3491 | ||
6dddd7a7 | 3492 | nps_mtm_hs_ctr= [KNL,ARC] |
35b55ef2 NC |
3493 | This parameter sets the maximum duration, in |
3494 | cycles, each HW thread of the CTOP can run | |
3495 | without interruptions, before HW switches it. | |
3496 | The actual maximum duration is 16 times this | |
3497 | parameter's value. | |
3498 | Format: integer between 1 and 255 | |
3499 | Default: 255 | |
3500 | ||
16290246 | 3501 | nptcg= [IA-64] Override max number of concurrent global TLB |
a6c75b86 FY |
3502 | purges which is reported from either PAL_VM_SUMMARY or |
3503 | SAL PALO. | |
3504 | ||
2b633e3f YL |
3505 | nr_cpus= [SMP] Maximum number of processors that an SMP kernel |
3506 | could support. nr_cpus=n : n >= 1 limits the kernel to | |
7c142bfe BH |
3507 | support 'n' processors. It could be larger than the |
3508 | number of already plugged CPU during bootup, later in | |
3509 | runtime you can physically add extra cpu until it reaches | |
3510 | n. So during boot up some boot time memory for per-cpu | |
3511 | variables need be pre-allocated for later physical cpu | |
3512 | hot plugging. | |
2b633e3f | 3513 | |
0cb55ad2 RD |
3514 | nr_uarts= [SERIAL] maximum number of UARTs to be registered. |
3515 | ||
00b072c0 BS |
3516 | numa_balancing= [KNL,ARM64,PPC,RISCV,S390,X86] Enable or disable automatic |
3517 | NUMA balancing. | |
1a687c2e MG |
3518 | Allowed values are enable and disable |
3519 | ||
f0c0b2b8 | 3520 | numa_zonelist_order= [KNL, BOOT] Select zonelist order for NUMA. |
c9bff3ee | 3521 | 'node', 'default' can be specified |
f0c0b2b8 | 3522 | This can be set from sysctl after boot. |
57043247 | 3523 | See Documentation/admin-guide/sysctl/vm.rst for details. |
f0c0b2b8 | 3524 | |
7c4be253 | 3525 | ohci1394_dma=early [HW] enable debugging via the ohci1394 driver. |
a74e2a22 | 3526 | See Documentation/core-api/debugging-via-ohci1394.rst for more |
7c4be253 RD |
3527 | info. |
3528 | ||
3ef0e1f8 AS |
3529 | olpc_ec_timeout= [OLPC] ms delay when issuing EC commands |
3530 | Rather than timing out after 20 ms if an EC | |
3531 | command is not properly ACKed, override the length | |
3532 | of the timeout. We have interrupts disabled while | |
3533 | waiting for the ACK, so if this is set too high | |
3534 | interrupts *may* be lost! | |
3535 | ||
15ac7afe TL |
3536 | omap_mux= [OMAP] Override bootloader pin multiplexing. |
3537 | Format: <mux_mode0.mode_name=value>... | |
3538 | For example, to override I2C bus2: | |
3539 | omap_mux=i2c2_scl.i2c2_scl=0x100,i2c2_sda.i2c2_sda=0x100 | |
3540 | ||
44a4dcf7 RD |
3541 | oops=panic Always panic on oopses. Default is to just kill the |
3542 | process, but there is a small probability of | |
3543 | deadlocking the machine. | |
d404ab0a OH |
3544 | This will also cause panics on machine check exceptions. |
3545 | Useful together with panic=30 to trigger a reboot. | |
3546 | ||
e900a918 DW |
3547 | page_alloc.shuffle= |
3548 | [KNL] Boolean flag to control whether the page allocator | |
3549 | should randomize its free lists. The randomization may | |
3550 | be automatically enabled if the kernel detects it is | |
3551 | running on a platform with a direct-mapped memory-side | |
3552 | cache, and this parameter can be used to | |
3553 | override/disable that behavior. The state of the flag | |
3554 | can be read from sysfs at: | |
3555 | /sys/module/page_alloc/parameters/shuffle. | |
3556 | ||
48c96a36 JK |
3557 | page_owner= [KNL] Boot-time page_owner enabling option. |
3558 | Storage of the information about who allocated | |
3559 | each page is disabled in default. With this switch, | |
3560 | we can turn it on. | |
3561 | on: enable the feature | |
3562 | ||
8823b1db | 3563 | page_poison= [KNL] Boot-time parameter changing the state of |
8c9a134c KC |
3564 | poisoning on the buddy allocator, available with |
3565 | CONFIG_PAGE_POISONING=y. | |
3566 | off: turn off poisoning (default) | |
8823b1db LA |
3567 | on: turn on poisoning |
3568 | ||
44a4dcf7 | 3569 | panic= [KNL] Kernel behaviour on panic: delay <timeout> |
4302fbc8 HD |
3570 | timeout > 0: seconds before rebooting |
3571 | timeout = 0: wait forever | |
3572 | timeout < 0: reboot immediately | |
1da177e4 LT |
3573 | Format: <timeout> |
3574 | ||
d999bd93 FT |
3575 | panic_print= Bitmask for printing system info when panic happens. |
3576 | User can chose combination of the following bits: | |
3577 | bit 0: print all tasks info | |
3578 | bit 1: print system memory info | |
3579 | bit 2: print timer info | |
3580 | bit 3: print locks info if CONFIG_LOCKDEP is on | |
3581 | bit 4: print ftrace buffer | |
de6da1e8 | 3582 | bit 5: print all printk messages in buffer |
d999bd93 | 3583 | |
db38d5c1 RA |
3584 | panic_on_taint= Bitmask for conditionally calling panic() in add_taint() |
3585 | Format: <hex>[,nousertaint] | |
3586 | Hexadecimal bitmask representing the set of TAINT flags | |
3587 | that will cause the kernel to panic when add_taint() is | |
3588 | called with any of the flags in this set. | |
3589 | The optional switch "nousertaint" can be utilized to | |
3590 | prevent userspace forced crashes by writing to sysctl | |
3591 | /proc/sys/kernel/tainted any flagset matching with the | |
3592 | bitmask set on panic_on_taint. | |
3593 | See Documentation/admin-guide/tainted-kernels.rst for | |
3594 | extra details on the taint flags that users can pick | |
3595 | to compose the bitmask to assign to panic_on_taint. | |
3596 | ||
9e3961a0 PB |
3597 | panic_on_warn panic() instead of WARN(). Useful to cause kdump |
3598 | on a WARN(). | |
3599 | ||
f06e5153 MH |
3600 | crash_kexec_post_notifiers |
3601 | Run kdump after running panic-notifiers and dumping | |
3602 | kmsg. This only for the users who doubt kdump always | |
3603 | succeeds in any situation. | |
3604 | Note that this also increases risks of kdump failure, | |
3605 | because some panic notifiers can make the crashed | |
3606 | kernel more unstable. | |
3607 | ||
1da177e4 LT |
3608 | parkbd.port= [HW] Parallel port number the keyboard adapter is |
3609 | connected to, default is 0. | |
3610 | Format: <parport#> | |
3611 | parkbd.mode= [HW] Parallel port keyboard adapter mode of operation, | |
3612 | 0 for XT, 1 for AT (default is AT). | |
a9913044 RD |
3613 | Format: <mode> |
3614 | ||
3615 | parport= [HW,PPT] Specify parallel ports. 0 disables. | |
3616 | Format: { 0 | auto | 0xBBB[,IRQ[,DMA]] } | |
3617 | Use 'auto' to force the driver to use any | |
3618 | IRQ/DMA settings detected (the default is to | |
3619 | ignore detected IRQ/DMA settings because of | |
3620 | possible conflicts). You can specify the base | |
3621 | address, IRQ, and DMA settings; IRQ and DMA | |
3622 | should be numbers, or 'auto' (for using detected | |
3623 | settings on that particular port), or 'nofifo' | |
3624 | (to avoid using a FIFO even if it is detected). | |
3625 | Parallel ports are assigned in the order they | |
3626 | are specified on the command line, starting | |
3627 | with parport0. | |
3628 | ||
3629 | parport_init_mode= [HW,PPT] | |
3630 | Configure VIA parallel port to operate in | |
3631 | a specific mode. This is necessary on Pegasos | |
3632 | computer where firmware has no options for setting | |
3633 | up parallel port mode and sets it to spp. | |
3634 | Currently this function knows 686a and 8231 chips. | |
1da177e4 LT |
3635 | Format: [spp|ps2|epp|ecp|ecpepp] |
3636 | ||
426e2c6a MR |
3637 | pata_legacy.all= [HW,LIBATA] |
3638 | Format: <int> | |
3639 | Set to non-zero to probe primary and secondary ISA | |
3640 | port ranges on PCI systems where no PCI PATA device | |
3641 | has been found at either range. Disabled by default. | |
3642 | ||
3643 | pata_legacy.autospeed= [HW,LIBATA] | |
3644 | Format: <int> | |
3645 | Set to non-zero if a chip is present that snoops speed | |
3646 | changes. Disabled by default. | |
3647 | ||
3648 | pata_legacy.ht6560a= [HW,LIBATA] | |
3649 | Format: <int> | |
3650 | Set to 1, 2, or 3 for HT 6560A on the primary channel, | |
3651 | the secondary channel, or both channels respectively. | |
3652 | Disabled by default. | |
3653 | ||
3654 | pata_legacy.ht6560b= [HW,LIBATA] | |
3655 | Format: <int> | |
3656 | Set to 1, 2, or 3 for HT 6560B on the primary channel, | |
3657 | the secondary channel, or both channels respectively. | |
3658 | Disabled by default. | |
3659 | ||
3660 | pata_legacy.iordy_mask= [HW,LIBATA] | |
3661 | Format: <int> | |
3662 | IORDY enable mask. Set individual bits to allow IORDY | |
3663 | for the respective channel. Bit 0 is for the first | |
3664 | legacy channel handled by this driver, bit 1 is for | |
3665 | the second channel, and so on. The sequence will often | |
3666 | correspond to the primary legacy channel, the secondary | |
3667 | legacy channel, and so on, but the handling of a PCI | |
3668 | bus and the use of other driver options may interfere | |
3669 | with the sequence. By default IORDY is allowed across | |
3670 | all channels. | |
3671 | ||
3672 | pata_legacy.opti82c46x= [HW,LIBATA] | |
3673 | Format: <int> | |
3674 | Set to 1, 2, or 3 for Opti 82c611A on the primary | |
3675 | channel, the secondary channel, or both channels | |
3676 | respectively. Disabled by default. | |
3677 | ||
3678 | pata_legacy.opti82c611a= [HW,LIBATA] | |
3679 | Format: <int> | |
3680 | Set to 1, 2, or 3 for Opti 82c465MV on the primary | |
3681 | channel, the secondary channel, or both channels | |
3682 | respectively. Disabled by default. | |
3683 | ||
3684 | pata_legacy.pio_mask= [HW,LIBATA] | |
3685 | Format: <int> | |
3686 | PIO mode mask for autospeed devices. Set individual | |
3687 | bits to allow the use of the respective PIO modes. | |
3688 | Bit 0 is for mode 0, bit 1 is for mode 1, and so on. | |
3689 | All modes allowed by default. | |
3690 | ||
3691 | pata_legacy.probe_all= [HW,LIBATA] | |
3692 | Format: <int> | |
3693 | Set to non-zero to probe tertiary and further ISA | |
3694 | port ranges on PCI systems. Disabled by default. | |
3695 | ||
7d33004d MR |
3696 | pata_legacy.probe_mask= [HW,LIBATA] |
3697 | Format: <int> | |
3698 | Probe mask for legacy ISA PATA ports. Depending on | |
3699 | platform configuration and the use of other driver | |
3700 | options up to 6 legacy ports are supported: 0x1f0, | |
3701 | 0x170, 0x1e8, 0x168, 0x1e0, 0x160, however probing | |
3702 | of individual ports can be disabled by setting the | |
3703 | corresponding bits in the mask to 1. Bit 0 is for | |
3704 | the first port in the list above (0x1f0), and so on. | |
3705 | By default all supported ports are probed. | |
3706 | ||
426e2c6a MR |
3707 | pata_legacy.qdi= [HW,LIBATA] |
3708 | Format: <int> | |
3709 | Set to non-zero to probe QDI controllers. By default | |
3710 | set to 1 if CONFIG_PATA_QDI_MODULE, 0 otherwise. | |
3711 | ||
3712 | pata_legacy.winbond= [HW,LIBATA] | |
3713 | Format: <int> | |
3714 | Set to non-zero to probe Winbond controllers. Use | |
3715 | the standard I/O port (0x130) if 1, otherwise the | |
3716 | value given is the I/O port to use (typically 0x1b0). | |
3717 | By default set to 1 if CONFIG_PATA_WINBOND_VLB_MODULE, | |
3718 | 0 otherwise. | |
3719 | ||
6ddcec95 MR |
3720 | pata_platform.pio_mask= [HW,LIBATA] |
3721 | Format: <int> | |
3722 | Supported PIO mode mask. Set individual bits to allow | |
3723 | the use of the respective PIO modes. Bit 0 is for | |
3724 | mode 0, bit 1 is for mode 1, and so on. Mode 0 only | |
3725 | allowed by default. | |
3726 | ||
dd287796 AM |
3727 | pause_on_oops= |
3728 | Halt all CPUs after the first oops has been printed for | |
3729 | the specified number of seconds. This is to be used if | |
3730 | your oopses keep scrolling off the screen. | |
3731 | ||
1da177e4 LT |
3732 | pcbit= [HW,ISDN] |
3733 | ||
3734 | pcd. [PARIDE] | |
3735 | See header of drivers/block/paride/pcd.c. | |
e7751617 | 3736 | See also Documentation/admin-guide/blockdev/paride.rst. |
1da177e4 | 3737 | |
07d8d7e5 LG |
3738 | pci=option[,option...] [PCI] various PCI subsystem options. |
3739 | ||
3740 | Some options herein operate on a specific device | |
3741 | or a set of devices (<pci_dev>). These are | |
3742 | specified in one of the following formats: | |
3743 | ||
45db3370 | 3744 | [<domain>:]<bus>:<dev>.<func>[/<dev>.<func>]* |
07d8d7e5 LG |
3745 | pci:<vendor>:<device>[:<subvendor>:<subdevice>] |
3746 | ||
3747 | Note: the first format specifies a PCI | |
3748 | bus/device/function address which may change | |
3749 | if new hardware is inserted, if motherboard | |
3750 | firmware changes, or due to changes caused | |
3751 | by other kernel parameters. If the | |
3752 | domain is left unspecified, it is | |
45db3370 LG |
3753 | taken to be zero. Optionally, a path |
3754 | to a device through multiple device/function | |
3755 | addresses can be specified after the base | |
3756 | address (this is more robust against | |
3757 | renumbering issues). The second format | |
07d8d7e5 LG |
3758 | selects devices using IDs from the |
3759 | configuration space which may match multiple | |
3760 | devices in the system. | |
3761 | ||
11eb0e0e | 3762 | earlydump dump PCI config space before the kernel |
6dddd7a7 | 3763 | changes anything |
c0115606 | 3764 | off [X86] don't probe for the PCI bus |
cd4f0ef7 | 3765 | bios [X86-32] force use of PCI BIOS, don't access |
a9913044 RD |
3766 | the hardware directly. Use this if your machine |
3767 | has a non-standard PCI host bridge. | |
cd4f0ef7 | 3768 | nobios [X86-32] disallow use of PCI BIOS, only direct |
a9913044 RD |
3769 | hardware access methods are allowed. Use this |
3770 | if you experience crashes upon bootup and you | |
3771 | suspect they are caused by the BIOS. | |
afd8c084 BP |
3772 | conf1 [X86] Force use of PCI Configuration Access |
3773 | Mechanism 1 (config address in IO port 0xCF8, | |
3774 | data in IO port 0xCFC, both 32-bit). | |
3775 | conf2 [X86] Force use of PCI Configuration Access | |
3776 | Mechanism 2 (IO port 0xCF8 is an 8-bit port for | |
3777 | the function, IO port 0xCFA, also 8-bit, sets | |
3778 | bus number. The config space is then accessed | |
3779 | through ports 0xC000-0xCFFF). | |
3780 | See http://wiki.osdev.org/PCI for more info | |
3781 | on the configuration access mechanisms. | |
7f785763 RD |
3782 | noaer [PCIE] If the PCIEAER kernel config parameter is |
3783 | enabled, this kernel boot option can be used to | |
3784 | disable the use of PCIE advanced error reporting. | |
32a2eea7 JG |
3785 | nodomains [PCI] Disable support for multiple PCI |
3786 | root domains (aka PCI segments, in ACPI-speak). | |
6cececfc | 3787 | nommconf [X86] Disable use of MMCONFIG for PCI |
61be6d66 | 3788 | Configuration |
12983077 AH |
3789 | check_enable_amd_mmconf [X86] check for and enable |
3790 | properly configured MMIO access to PCI | |
3791 | config space on AMD family 10h CPU | |
309e57df MW |
3792 | nomsi [MSI] If the PCI_MSI kernel config parameter is |
3793 | enabled, this kernel boot option can be used to | |
3794 | disable the use of MSI interrupts system-wide. | |
a9322f64 SA |
3795 | noioapicquirk [APIC] Disable all boot interrupt quirks. |
3796 | Safety option to keep boot IRQs enabled. This | |
3797 | should never be necessary. | |
9197979b SA |
3798 | ioapicreroute [APIC] Enable rerouting of boot IRQs to the |
3799 | primary IO-APIC for bridges that cannot disable | |
3800 | boot IRQs. This fixes a source of spurious IRQs | |
3801 | when the system masks IRQs. | |
41b9eb26 SA |
3802 | noioapicreroute [APIC] Disable workaround that uses the |
3803 | boot IRQ equivalent of an IRQ that connects to | |
3804 | a chipset where boot IRQs cannot be disabled. | |
3805 | The opposite of ioapicreroute. | |
cd4f0ef7 | 3806 | biosirq [X86-32] Use PCI BIOS calls to get the interrupt |
a9913044 RD |
3807 | routing table. These calls are known to be buggy |
3808 | on several machines and they hang the machine | |
3809 | when used, but on other computers it's the only | |
3810 | way to get the interrupt routing table. Try | |
3811 | this option if the kernel is unable to allocate | |
3812 | IRQs or discover secondary PCI buses on your | |
3813 | motherboard. | |
c0115606 | 3814 | rom [X86] Assign address space to expansion ROMs. |
a9913044 RD |
3815 | Use with caution as certain devices share |
3816 | address decoders between ROMs and other | |
3817 | resources. | |
c0115606 | 3818 | norom [X86] Do not assign address space to |
bb71ad88 GH |
3819 | expansion ROMs that do not already have |
3820 | BIOS assigned address ranges. | |
7bd1c365 MH |
3821 | nobar [X86] Do not assign address space to the |
3822 | BARs that weren't assigned by the BIOS. | |
c0115606 | 3823 | irqmask=0xMMMM [X86] Set a bit mask of IRQs allowed to be |
a9913044 RD |
3824 | assigned automatically to PCI devices. You can |
3825 | make the kernel exclude IRQs of your ISA cards | |
3826 | this way. | |
c0115606 | 3827 | pirqaddr=0xAAAAA [X86] Specify the physical address |
a9913044 RD |
3828 | of the PIRQ table (normally generated |
3829 | by the BIOS) if it is outside the | |
3830 | F0000h-100000h range. | |
c0115606 | 3831 | lastbus=N [X86] Scan all buses thru bus #N. Can be |
a9913044 RD |
3832 | useful if the kernel is unable to find your |
3833 | secondary buses and you want to tell it | |
3834 | explicitly which ones they are. | |
c0115606 | 3835 | assign-busses [X86] Always assign all PCI bus |
a9913044 RD |
3836 | numbers ourselves, overriding |
3837 | whatever the firmware may have done. | |
c0115606 | 3838 | usepirqmask [X86] Honor the possible IRQ mask stored |
a9913044 RD |
3839 | in the BIOS $PIR table. This is needed on |
3840 | some systems with broken BIOSes, notably | |
3841 | some HP Pavilion N5400 and Omnibook XE3 | |
3842 | notebooks. This will have no effect if ACPI | |
3843 | IRQ routing is enabled. | |
c0115606 | 3844 | noacpi [X86] Do not use ACPI for IRQ routing |
a9913044 | 3845 | or for PCI scanning. |
7bc5e3f2 BH |
3846 | use_crs [X86] Use PCI host bridge window information |
3847 | from ACPI. On BIOSes from 2008 or later, this | |
3848 | is enabled by default. If you need to use this, | |
3849 | please report a bug. | |
3850 | nocrs [X86] Ignore PCI host bridge windows from ACPI. | |
6dddd7a7 | 3851 | If you need to use this, please report a bug. |
a9913044 RD |
3852 | routeirq Do IRQ routing for all PCI devices. |
3853 | This is normally done in pci_enable_device(), | |
3854 | so this option is a temporary workaround | |
3855 | for broken drivers that don't call it. | |
13a6ddb0 YL |
3856 | skip_isa_align [X86] do not align io start addr, so can |
3857 | handle more pci cards | |
0637a70a AK |
3858 | noearly [X86] Don't do any early type 1 scanning. |
3859 | This might help on some broken boards which | |
3860 | machine check when some devices' config space | |
3861 | is read. But various workarounds are disabled | |
3862 | and some IOMMU drivers will not work. | |
6b4b78fe MD |
3863 | bfsort Sort PCI devices into breadth-first order. |
3864 | This sorting is done to get a device | |
3865 | order compatible with older (<= 2.4) kernels. | |
3866 | nobfsort Don't sort PCI devices into breadth-first order. | |
fa238712 YW |
3867 | pcie_bus_tune_off Disable PCIe MPS (Max Payload Size) |
3868 | tuning and use the BIOS-configured MPS defaults. | |
3869 | pcie_bus_safe Set every device's MPS to the largest value | |
3870 | supported by all devices below the root complex. | |
3871 | pcie_bus_perf Set device MPS to the largest allowable MPS | |
3872 | based on its parent bus. Also set MRRS (Max | |
3873 | Read Request Size) to the largest supported | |
3874 | value (no larger than the MPS that the device | |
3875 | or bus can support) for best performance. | |
3876 | pcie_bus_peer2peer Set every device's MPS to 128B, which | |
3877 | every device is guaranteed to support. This | |
3878 | configuration allows peer-to-peer DMA between | |
3879 | any pair of devices, possibly at the cost of | |
3880 | reduced performance. This also guarantees | |
3881 | that hot-added devices will work. | |
4516a618 AN |
3882 | cbiosize=nn[KMG] The fixed amount of bus space which is |
3883 | reserved for the CardBus bridge's IO window. | |
3884 | The default value is 256 bytes. | |
3885 | cbmemsize=nn[KMG] The fixed amount of bus space which is | |
3886 | reserved for the CardBus bridge's memory | |
3887 | window. The default value is 64 megabytes. | |
32a9a682 YS |
3888 | resource_alignment= |
3889 | Format: | |
07d8d7e5 | 3890 | [<order of align>@]<pci_dev>[; ...] |
32a9a682 | 3891 | Specifies alignment and device to reassign |
07d8d7e5 LG |
3892 | aligned memory resources. How to |
3893 | specify the device is described above. | |
32a9a682 YS |
3894 | If <order of align> is not specified, |
3895 | PAGE_SIZE is used as alignment. | |
3b1b1ce3 | 3896 | A PCI-PCI bridge can be specified if resource |
32a9a682 | 3897 | windows need to be expanded. |
8b078c60 MK |
3898 | To specify the alignment for several |
3899 | instances of a device, the PCI vendor, | |
3900 | device, subvendor, and subdevice may be | |
3b1b1ce3 AK |
3901 | specified, e.g., 12@pci:8086:9c22:103c:198f |
3902 | for 4096-byte alignment. | |
43c16408 AP |
3903 | ecrc= Enable/disable PCIe ECRC (transaction layer |
3904 | end-to-end CRC checking). | |
3905 | bios: Use BIOS/firmware settings. This is the | |
3906 | the default. | |
3907 | off: Turn ECRC off | |
3908 | on: Turn ECRC on. | |
8c8803c5 YW |
3909 | hpiosize=nn[KMG] The fixed amount of bus space which is |
3910 | reserved for hotplug bridge's IO window. | |
3911 | Default size is 256 bytes. | |
d7b8a217 NJ |
3912 | hpmmiosize=nn[KMG] The fixed amount of bus space which is |
3913 | reserved for hotplug bridge's MMIO window. | |
3914 | Default size is 2 megabytes. | |
3915 | hpmmioprefsize=nn[KMG] The fixed amount of bus space which is | |
3916 | reserved for hotplug bridge's MMIO_PREF window. | |
3917 | Default size is 2 megabytes. | |
8c8803c5 | 3918 | hpmemsize=nn[KMG] The fixed amount of bus space which is |
d7b8a217 NJ |
3919 | reserved for hotplug bridge's MMIO and |
3920 | MMIO_PREF window. | |
8c8803c5 | 3921 | Default size is 2 megabytes. |
e16b4660 KB |
3922 | hpbussize=nn The minimum amount of additional bus numbers |
3923 | reserved for buses below a hotplug bridge. | |
3924 | Default is 1. | |
b55438fd YL |
3925 | realloc= Enable/disable reallocating PCI bridge resources |
3926 | if allocations done by BIOS are too small to | |
3927 | accommodate resources required by all child | |
3928 | devices. | |
3929 | off: Turn realloc off | |
3930 | on: Turn realloc on | |
3931 | realloc same as realloc=on | |
6748dcc2 | 3932 | noari do not use PCIe ARI. |
cef74409 GK |
3933 | noats [PCIE, Intel-IOMMU, AMD-IOMMU] |
3934 | do not use PCIe ATS (and IOMMU device IOTLB). | |
284f5f9d BH |
3935 | pcie_scan_all Scan all possible PCIe devices. Otherwise we |
3936 | only look for one device below a PCIe downstream | |
3937 | port. | |
f32ab754 UCCB |
3938 | big_root_window Try to add a big 64bit memory window to the PCIe |
3939 | root complex on AMD CPUs. Some GFX hardware | |
3940 | can resize a BAR to allow access to all VRAM. | |
3941 | Adding the window is slightly risky (it may | |
3942 | conflict with unreported devices), so this | |
3943 | taints the kernel. | |
aaca43fd LG |
3944 | disable_acs_redir=<pci_dev>[; ...] |
3945 | Specify one or more PCI devices (in the format | |
3946 | specified above) separated by semicolons. | |
3947 | Each device specified will have the PCI ACS | |
3948 | redirect capabilities forced off which will | |
3949 | allow P2P traffic between devices through | |
3950 | bridges without forcing it upstream. Note: | |
3951 | this removes isolation between devices and | |
3952 | may put more devices in an IOMMU group. | |
fbfe07d4 | 3953 | force_floating [S390] Force usage of floating interrupts. |
56271303 | 3954 | nomio [S390] Do not use MIO instructions. |
de267a7c PM |
3955 | norid [S390] ignore the RID field and force use of |
3956 | one PCI domain per PCI function | |
6b4b78fe | 3957 | |
e5665a45 CE |
3958 | pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power |
3959 | Management. | |
3960 | off Disable ASPM. | |
3961 | force Enable ASPM even on devices that claim not to support it. | |
3962 | WARNING: Forcing ASPM on may cause system lockups. | |
3963 | ||
4c0fd764 BH |
3964 | pcie_ports= [PCIE] PCIe port services handling: |
3965 | native Use native PCIe services (PME, AER, DPC, PCIe hotplug) | |
3966 | even if the platform doesn't give the OS permission to | |
3967 | use them. This may cause conflicts if the platform | |
3968 | also tries to use these services. | |
35a0b237 OJ |
3969 | dpc-native Use native PCIe service for DPC only. May |
3970 | cause conflicts if firmware uses AER or DPC. | |
4c0fd764 BH |
3971 | compat Disable native PCIe services (PME, AER, DPC, PCIe |
3972 | hotplug). | |
79dd9182 | 3973 | |
9d26d3a8 MW |
3974 | pcie_port_pm= [PCIE] PCIe port power management handling: |
3975 | off Disable power management of all PCIe ports | |
3976 | force Forcibly enable power management of all PCIe ports | |
3977 | ||
c7f48656 | 3978 | pcie_pme= [PCIE,PM] Native PCIe PME signaling options: |
c39fae14 | 3979 | nomsi Do not use MSI for native PCIe PME signaling (this makes |
28eb5f27 | 3980 | all PCIe root ports use INTx for all services). |
c7f48656 | 3981 | |
1da177e4 LT |
3982 | pcmv= [HW,PCMCIA] BadgePAD 4 |
3983 | ||
39ac5ba5 TB |
3984 | pd_ignore_unused |
3985 | [PM] | |
3986 | Keep all power-domains already enabled by bootloader on, | |
3987 | even if no driver has claimed them. This is useful | |
3988 | for debug and development, but should not be | |
3989 | needed on a platform with proper driver support. | |
3990 | ||
1da177e4 | 3991 | pd. [PARIDE] |
e7751617 | 3992 | See Documentation/admin-guide/blockdev/paride.rst. |
1da177e4 LT |
3993 | |
3994 | pdcchassis= [PARISC,HW] Disable/Enable PDC Chassis Status codes at | |
3995 | boot time. | |
3996 | Format: { 0 | 1 } | |
3997 | See arch/parisc/kernel/pdc_chassis.c | |
3998 | ||
f58dc01b | 3999 | percpu_alloc= Select which percpu first chunk allocator to use. |
e933a73f TH |
4000 | Currently supported values are "embed" and "page". |
4001 | Archs may support subset or none of the selections. | |
4002 | See comments in mm/percpu.c for details on each | |
4003 | allocator. This parameter is primarily for debugging | |
4004 | and performance comparison. | |
fa8a7094 | 4005 | |
1da177e4 | 4006 | pf. [PARIDE] |
e7751617 | 4007 | See Documentation/admin-guide/blockdev/paride.rst. |
1da177e4 LT |
4008 | |
4009 | pg. [PARIDE] | |
e7751617 | 4010 | See Documentation/admin-guide/blockdev/paride.rst. |
1da177e4 LT |
4011 | |
4012 | pirq= [SMP,APIC] Manual mp-table setup | |
cb1aaebe | 4013 | See Documentation/x86/i386/IO-APIC.rst. |
1da177e4 LT |
4014 | |
4015 | plip= [PPT,NET] Parallel port network link | |
4016 | Format: { parport<nr> | timid | 0 } | |
3ba9b1b8 | 4017 | See also Documentation/admin-guide/parport.rst. |
1da177e4 | 4018 | |
16290246 | 4019 | pmtmr= [X86] Manual setup of pmtmr I/O Port. |
de32a243 TG |
4020 | Override pmtimer IOPort with a hex value. |
4021 | e.g. pmtmr=0x508 | |
4022 | ||
db96a759 CY |
4023 | pm_debug_messages [SUSPEND,KNL] |
4024 | Enable suspend/resume debug messages during boot up. | |
4025 | ||
96242116 BH |
4026 | pnp.debug=1 [PNP] |
4027 | Enable PNP debug messages (depends on the | |
4028 | CONFIG_PNP_DEBUG_MESSAGES option). Change at run-time | |
4029 | via /sys/module/pnp/parameters/debug. We always show | |
4030 | current resource usage; turning this on also shows | |
4031 | possible settings and some assignment information. | |
97ef062b | 4032 | |
1da177e4 LT |
4033 | pnpacpi= [ACPI] |
4034 | { off } | |
4035 | ||
4036 | pnpbios= [ISAPNP] | |
4037 | { on | off | curr | res | no-curr | no-res } | |
4038 | ||
4039 | pnp_reserve_irq= | |
4040 | [ISAPNP] Exclude IRQs for the autoconfiguration | |
4041 | ||
4042 | pnp_reserve_dma= | |
4043 | [ISAPNP] Exclude DMAs for the autoconfiguration | |
4044 | ||
4045 | pnp_reserve_io= [ISAPNP] Exclude I/O ports for the autoconfiguration | |
a9913044 | 4046 | Ranges are in pairs (I/O port base and size). |
1da177e4 LT |
4047 | |
4048 | pnp_reserve_mem= | |
a9913044 RD |
4049 | [ISAPNP] Exclude memory regions for the |
4050 | autoconfiguration. | |
1da177e4 LT |
4051 | Ranges are in pairs (memory base and size). |
4052 | ||
4af94f39 RD |
4053 | ports= [IP_VS_FTP] IPVS ftp helper module |
4054 | Default is 21. | |
4055 | Up to 8 (IP_VS_APP_MAX_PORTS) ports | |
4056 | may be specified. | |
4057 | Format: <port>,<port>.... | |
4058 | ||
c3cbd075 BS |
4059 | powersave=off [PPC] This option disables power saving features. |
4060 | It specifically disables cpuidle and sets the | |
4061 | platform machine description specific power_save | |
4062 | function to NULL. On Idle the CPU just reduces | |
4063 | execution priority. | |
4064 | ||
3eb5d588 AB |
4065 | ppc_strict_facility_enable |
4066 | [PPC] This option catches any kernel floating point, | |
4067 | Altivec, VSX and SPE outside of regions specifically | |
4068 | allowed (eg kernel_enable_fpu()/kernel_disable_fpu()). | |
4069 | There is some performance impact when enabling this. | |
4070 | ||
07fd1761 CB |
4071 | ppc_tm= [PPC] |
4072 | Format: {"off"} | |
4073 | Disable Hardware Transactional Memory | |
4074 | ||
6ef869e0 MH |
4075 | preempt= [KNL] |
4076 | Select preemption mode if you have CONFIG_PREEMPT_DYNAMIC | |
4077 | none - Limited to cond_resched() calls | |
4078 | voluntary - Limited to cond_resched() and might_sleep() calls | |
4079 | full - Any section that isn't explicitly preempt disabled | |
4080 | can be preempted anytime. | |
4081 | ||
45807a1d IM |
4082 | print-fatal-signals= |
4083 | [KNL] debug: print fatal signals | |
f84d49b2 NO |
4084 | |
4085 | If enabled, warn about various signal handling | |
4086 | related application anomalies: too many signals, | |
4087 | too many POSIX.1 timers, fatal signals causing a | |
4088 | coredump - etc. | |
4089 | ||
4090 | If you hit the warning due to signal overflow, | |
4091 | you might want to try "ulimit -i unlimited". | |
4092 | ||
45807a1d IM |
4093 | default: off. |
4094 | ||
c22ab332 MG |
4095 | printk.always_kmsg_dump= |
4096 | Trigger kmsg_dump for cases other than kernel oops or | |
4097 | panics | |
4098 | Format: <bool> (1/Y/y=enable, 0/N/n=disable) | |
4099 | default: disabled | |
4100 | ||
750afe7b BP |
4101 | printk.devkmsg={on,off,ratelimit} |
4102 | Control writing to /dev/kmsg. | |
4103 | on - unlimited logging to /dev/kmsg from userspace | |
4104 | off - logging to /dev/kmsg disabled | |
4105 | ratelimit - ratelimit the logging | |
4106 | Default: ratelimit | |
4107 | ||
e84845c4 RD |
4108 | printk.time= Show timing data prefixed to each printk message line |
4109 | Format: <bool> (1/Y/y=enable, 0/N/n=disable) | |
4110 | ||
0cb55ad2 RD |
4111 | processor.max_cstate= [HW,ACPI] |
4112 | Limit processor to maximum C-state | |
4113 | max_cstate=9 overrides any DMI blacklist limit. | |
4114 | ||
4115 | processor.nocst [HW,ACPI] | |
4116 | Ignore the _CST method to determine C-states, | |
4117 | instead using the legacy FADT method | |
4118 | ||
1da177e4 | 4119 | profile= [KNL] Enable kernel profiling via /proc/profile |
e7e61fc0 RD |
4120 | Format: [<profiletype>,]<number> |
4121 | Param: <profiletype>: "schedule", "sleep", or "kvm" | |
4122 | [defaults to kernel profiling] | |
a9913044 | 4123 | Param: "schedule" - profile schedule points. |
b3da2a73 MG |
4124 | Param: "sleep" - profile D-state sleeping (millisecs). |
4125 | Requires CONFIG_SCHEDSTATS | |
c0fe2e69 | 4126 | Param: "kvm" - profile VM exits. |
e7e61fc0 RD |
4127 | Param: <number> - step/bucket size as a power of 2 for |
4128 | statistical time based profiling. | |
1da177e4 | 4129 | |
6b99e6e6 | 4130 | prompt_ramdisk= [RAM] [Deprecated] |
1da177e4 | 4131 | |
ecdc5d84 VG |
4132 | prot_virt= [S390] enable hosting protected virtual machines |
4133 | isolated from the hypervisor (if hardware supports | |
4134 | that). | |
4135 | Format: <bool> | |
4136 | ||
e0c27447 JW |
4137 | psi= [KNL] Enable or disable pressure stall information |
4138 | tracking. | |
4139 | Format: <bool> | |
4140 | ||
a9913044 RD |
4141 | psmouse.proto= [HW,MOUSE] Highest PS2 mouse protocol extension to |
4142 | probe for; one of (bare|imps|exps|lifebook|any). | |
1da177e4 LT |
4143 | psmouse.rate= [HW,MOUSE] Set desired mouse report rate, in reports |
4144 | per second. | |
a9913044 RD |
4145 | psmouse.resetafter= [HW,MOUSE] |
4146 | Try to reset the device after so many bad packets | |
1da177e4 LT |
4147 | (0 = never). |
4148 | psmouse.resolution= | |
4149 | [HW,MOUSE] Set desired mouse resolution, in dpi. | |
4150 | psmouse.smartscroll= | |
a9913044 | 4151 | [HW,MOUSE] Controls Logitech smartscroll autorepeat. |
1da177e4 LT |
4152 | 0 = disabled, 1 = enabled (default). |
4153 | ||
dee28e72 MG |
4154 | pstore.backend= Specify the name of the pstore backend to use |
4155 | ||
1da177e4 | 4156 | pt. [PARIDE] |
e7751617 | 4157 | See Documentation/admin-guide/blockdev/paride.rst. |
1da177e4 | 4158 | |
be3a5b0e | 4159 | pti= [X86-64] Control Page Table Isolation of user and |
01c9b17b DH |
4160 | kernel address spaces. Disabling this feature |
4161 | removes hardening, but improves performance of | |
4162 | system calls and interrupts. | |
4163 | ||
4164 | on - unconditionally enable | |
4165 | off - unconditionally disable | |
4166 | auto - kernel detects whether your CPU model is | |
4167 | vulnerable to issues that PTI mitigates | |
4168 | ||
4169 | Not specifying this option is equivalent to pti=auto. | |
4170 | ||
be3a5b0e | 4171 | nopti [X86-64] |
01c9b17b | 4172 | Equivalent to pti=off |
41f4c20b | 4173 | |
dc8c8587 KS |
4174 | pty.legacy_count= |
4175 | [KNL] Number of legacy pty's. Overwrites compiled-in | |
4176 | default number. | |
4177 | ||
7d2c502f | 4178 | quiet [KNL] Disable most log messages |
a9913044 | 4179 | |
1da177e4 LT |
4180 | r128= [HW,DRM] |
4181 | ||
4182 | raid= [HW,RAID] | |
e52347bd | 4183 | See Documentation/admin-guide/md.rst. |
1da177e4 | 4184 | |
1da177e4 | 4185 | ramdisk_size= [RAM] Sizes of RAM disks in kilobytes |
e7751617 | 4186 | See Documentation/admin-guide/blockdev/ramdisk.rst. |
1da177e4 | 4187 | |
6b99e6e6 RD |
4188 | ramdisk_start= [RAM] RAM disk image start address |
4189 | ||
9b254366 KC |
4190 | random.trust_cpu={on,off} |
4191 | [KNL] Enable or disable trusting the use of the | |
4192 | CPU's random number generator (if available) to | |
4193 | fully seed the kernel's CRNG. Default is controlled | |
4194 | by CONFIG_RANDOM_TRUST_CPU. | |
4195 | ||
39218ff4 KC |
4196 | randomize_kstack_offset= |
4197 | [KNL] Enable or disable kernel stack offset | |
4198 | randomization, which provides roughly 5 bits of | |
4199 | entropy, frustrating memory corruption attacks | |
4200 | that depend on stack address determinism or | |
4201 | cross-syscall address exposures. This is only | |
4202 | available on architectures that have defined | |
4203 | CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET. | |
4204 | Format: <bool> (1/Y/y=enable, 0/N/n=disable) | |
4205 | Default is CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT. | |
4206 | ||
011d8261 BP |
4207 | ras=option[,option,...] [KNL] RAS-specific options |
4208 | ||
4209 | cec_disable [X86] | |
4210 | Disable the Correctable Errors Collector, | |
4211 | see CONFIG_RAS_CEC help text. | |
4212 | ||
4102adab | 4213 | rcu_nocbs= [KNL] |
3e70df91 | 4214 | The argument is a cpu list, as described above. |
2d13e6ca | 4215 | |
3fbfbf7a PM |
4216 | In kernels built with CONFIG_RCU_NOCB_CPU=y, set |
4217 | the specified list of CPUs to be no-callback CPUs. | |
77095901 PM |
4218 | Invocation of these CPUs' RCU callbacks will be |
4219 | offloaded to "rcuox/N" kthreads created for that | |
4220 | purpose, where "x" is "p" for RCU-preempt, and | |
4221 | "s" for RCU-sched, and "N" is the CPU number. | |
4222 | This reduces OS jitter on the offloaded CPUs, | |
4223 | which can be useful for HPC and real-time | |
4224 | workloads. It can also improve energy efficiency | |
4225 | for asymmetric multiprocessors. | |
3fbfbf7a | 4226 | |
4102adab | 4227 | rcu_nocb_poll [KNL] |
3fbfbf7a PM |
4228 | Rather than requiring that offloaded CPUs |
4229 | (specified by rcu_nocbs= above) explicitly | |
4230 | awaken the corresponding "rcuoN" kthreads, | |
4231 | make these kthreads poll for callbacks. | |
4232 | This improves the real-time response for the | |
4233 | offloaded CPUs by relieving them of the need to | |
4234 | wake up the corresponding kthread, but degrades | |
4235 | energy efficiency by requiring that the kthreads | |
4236 | periodically wake up to do the polling. | |
4237 | ||
4102adab | 4238 | rcutree.blimit= [KNL] |
97e63f0c PM |
4239 | Set maximum number of finished RCU callbacks to |
4240 | process in one batch. | |
21a1ea9e | 4241 | |
a3dc2948 PM |
4242 | rcutree.dump_tree= [KNL] |
4243 | Dump the structure of the rcu_node combining tree | |
4244 | out at early boot. This is used for diagnostic | |
4245 | purposes, to verify correct tree setup. | |
4246 | ||
0f41c0dd PM |
4247 | rcutree.gp_cleanup_delay= [KNL] |
4248 | Set the number of jiffies to delay each step of | |
90040c9e | 4249 | RCU grace-period cleanup. |
0f41c0dd | 4250 | |
37745d28 PM |
4251 | rcutree.gp_init_delay= [KNL] |
4252 | Set the number of jiffies to delay each step of | |
90040c9e | 4253 | RCU grace-period initialization. |
0f41c0dd PM |
4254 | |
4255 | rcutree.gp_preinit_delay= [KNL] | |
4256 | Set the number of jiffies to delay each step of | |
4257 | RCU grace-period pre-initialization, that is, | |
4258 | the propagation of recent CPU-hotplug changes up | |
90040c9e | 4259 | the rcu_node combining tree. |
37745d28 | 4260 | |
48d07c04 SAS |
4261 | rcutree.use_softirq= [KNL] |
4262 | If set to zero, move all RCU_SOFTIRQ processing to | |
4263 | per-CPU rcuc kthreads. Defaults to a non-zero | |
4264 | value, meaning that RCU_SOFTIRQ is used by default. | |
4265 | Specify rcutree.use_softirq=0 to use rcuc kthreads. | |
4266 | ||
8b9a0ecc SW |
4267 | But note that CONFIG_PREEMPT_RT=y kernels disable |
4268 | this kernel boot parameter, forcibly setting it | |
4269 | to zero. | |
4270 | ||
7fa27001 PM |
4271 | rcutree.rcu_fanout_exact= [KNL] |
4272 | Disable autobalancing of the rcu_node combining | |
4273 | tree. This is used by rcutorture, and might | |
4274 | possibly be useful for architectures having high | |
4275 | cache-to-cache transfer latencies. | |
37745d28 | 4276 | |
4102adab | 4277 | rcutree.rcu_fanout_leaf= [KNL] |
ee968ac6 PM |
4278 | Change the number of CPUs assigned to each |
4279 | leaf rcu_node structure. Useful for very | |
4280 | large systems, which will choose the value 64, | |
4281 | and for NUMA systems with large remote-access | |
4282 | latencies, which will choose a value aligned | |
4283 | with the appropriate hardware boundaries. | |
f885b7f2 | 4284 | |
53c72b59 URS |
4285 | rcutree.rcu_min_cached_objs= [KNL] |
4286 | Minimum number of objects which are cached and | |
4287 | maintained per one CPU. Object size is equal | |
4288 | to PAGE_SIZE. The cache allows to reduce the | |
4289 | pressure to page allocator, also it makes the | |
4290 | whole algorithm to behave better in low memory | |
4291 | condition. | |
4292 | ||
4102adab | 4293 | rcutree.jiffies_till_first_fqs= [KNL] |
c0f4dfd4 PM |
4294 | Set delay from grace-period initialization to |
4295 | first attempt to force quiescent states. | |
4296 | Units are jiffies, minimum value is zero, | |
4297 | and maximum value is HZ. | |
4298 | ||
4102adab | 4299 | rcutree.jiffies_till_next_fqs= [KNL] |
c0f4dfd4 PM |
4300 | Set delay between subsequent attempts to force |
4301 | quiescent states. Units are jiffies, minimum | |
4302 | value is one, and maximum value is HZ. | |
4303 | ||
1a4762b9 PM |
4304 | rcutree.jiffies_till_sched_qs= [KNL] |
4305 | Set required age in jiffies for a | |
4306 | given grace period before RCU starts | |
4307 | soliciting quiescent-state help from | |
4308 | rcu_note_context_switch() and cond_resched(). | |
4309 | If not specified, the kernel will calculate | |
4310 | a value based on the most recent settings | |
4311 | of rcutree.jiffies_till_first_fqs | |
4312 | and rcutree.jiffies_till_next_fqs. | |
4313 | This calculated value may be viewed in | |
4314 | rcutree.jiffies_to_sched_qs. Any attempt to set | |
4315 | rcutree.jiffies_to_sched_qs will be cheerfully | |
4316 | overwritten. | |
4317 | ||
21871d7e | 4318 | rcutree.kthread_prio= [KNL,BOOT] |
d2af1ad7 PM |
4319 | Set the SCHED_FIFO priority of the RCU per-CPU |
4320 | kthreads (rcuc/N). This value is also used for | |
4321 | the priority of the RCU boost threads (rcub/N) | |
4322 | and for the RCU grace-period kthreads (rcu_bh, | |
4323 | rcu_preempt, and rcu_sched). If RCU_BOOST is | |
4324 | set, valid values are 1-99 and the default is 1 | |
4325 | (the least-favored priority). Otherwise, when | |
4326 | RCU_BOOST is not set, valid values are 0-99 and | |
4327 | the default is zero (non-realtime operation). | |
21871d7e | 4328 | |
f7c612b0 PM |
4329 | rcutree.rcu_nocb_gp_stride= [KNL] |
4330 | Set the number of NOCB callback kthreads in | |
4331 | each group, which defaults to the square root | |
4332 | of the number of CPUs. Larger numbers reduce | |
4333 | the wakeup overhead on the global grace-period | |
4334 | kthread, but increases that same overhead on | |
4335 | each group's NOCB grace-period kthread. | |
fbce7497 | 4336 | |
4102adab | 4337 | rcutree.qhimark= [KNL] |
97e63f0c PM |
4338 | Set threshold of queued RCU callbacks beyond which |
4339 | batch limiting is disabled. | |
21a1ea9e | 4340 | |
4102adab | 4341 | rcutree.qlowmark= [KNL] |
24aaef8d RD |
4342 | Set threshold of queued RCU callbacks below which |
4343 | batch limiting is re-enabled. | |
21a1ea9e | 4344 | |
b2b00ddf PM |
4345 | rcutree.qovld= [KNL] |
4346 | Set threshold of queued RCU callbacks beyond which | |
4347 | RCU's force-quiescent-state scan will aggressively | |
4348 | enlist help from cond_resched() and sched IPIs to | |
4349 | help CPUs more quickly reach quiescent states. | |
4350 | Set to less than zero to make this be set based | |
4351 | on rcutree.qhimark at boot time and to zero to | |
4352 | disable more aggressive help enlistment. | |
4353 | ||
4102adab | 4354 | rcutree.rcu_idle_gp_delay= [KNL] |
c0f4dfd4 PM |
4355 | Set wakeup interval for idle CPUs that have |
4356 | RCU callbacks (RCU_FAST_NO_HZ=y). | |
d40011f6 | 4357 | |
e3c50dfb PM |
4358 | rcutree.rcu_kick_kthreads= [KNL] |
4359 | Cause the grace-period kthread to get an extra | |
4360 | wake_up() if it sleeps three times longer than | |
4361 | it should at force-quiescent-state time. | |
4362 | This wake_up() will be accompanied by a | |
4363 | WARN_ONCE() splat and an ftrace_dump(). | |
4364 | ||
3d29aaf1 PM |
4365 | rcutree.rcu_unlock_delay= [KNL] |
4366 | In CONFIG_RCU_STRICT_GRACE_PERIOD=y kernels, | |
4367 | this specifies an rcu_read_unlock()-time delay | |
4368 | in microseconds. This defaults to zero. | |
4369 | Larger delays increase the probability of | |
4370 | catching RCU pointer leaks, that is, buggy use | |
4371 | of RCU-protected pointers after the relevant | |
4372 | rcu_read_unlock() has completed. | |
4373 | ||
2ccaff10 PM |
4374 | rcutree.sysrq_rcu= [KNL] |
4375 | Commandeer a sysrq key to dump out Tree RCU's | |
4376 | rcu_node tree with an eye towards determining | |
4377 | why a new grace period has not yet started. | |
4378 | ||
4e88ec4a | 4379 | rcuscale.gp_async= [KNL] |
881ed593 PM |
4380 | Measure performance of asynchronous |
4381 | grace-period primitives such as call_rcu(). | |
4382 | ||
4e88ec4a | 4383 | rcuscale.gp_async_max= [KNL] |
881ed593 PM |
4384 | Specify the maximum number of outstanding |
4385 | callbacks per writer thread. When a writer | |
4386 | thread exceeds this limit, it invokes the | |
4387 | corresponding flavor of rcu_barrier() to allow | |
4388 | previously posted callbacks to drain. | |
4389 | ||
4e88ec4a | 4390 | rcuscale.gp_exp= [KNL] |
bdea9e34 PM |
4391 | Measure performance of expedited synchronous |
4392 | grace-period primitives. | |
4393 | ||
4e88ec4a | 4394 | rcuscale.holdoff= [KNL] |
df37e66b PM |
4395 | Set test-start holdoff period. The purpose of |
4396 | this parameter is to delay the start of the | |
4397 | test until boot completes in order to avoid | |
4398 | interference. | |
4399 | ||
4e88ec4a | 4400 | rcuscale.kfree_rcu_test= [KNL] |
e6e78b00 JFG |
4401 | Set to measure performance of kfree_rcu() flooding. |
4402 | ||
686fe1bf URS |
4403 | rcuscale.kfree_rcu_test_double= [KNL] |
4404 | Test the double-argument variant of kfree_rcu(). | |
4405 | If this parameter has the same value as | |
4406 | rcuscale.kfree_rcu_test_single, both the single- | |
4407 | and double-argument variants are tested. | |
4408 | ||
4409 | rcuscale.kfree_rcu_test_single= [KNL] | |
4410 | Test the single-argument variant of kfree_rcu(). | |
4411 | If this parameter has the same value as | |
4412 | rcuscale.kfree_rcu_test_double, both the single- | |
4413 | and double-argument variants are tested. | |
4414 | ||
4e88ec4a | 4415 | rcuscale.kfree_nthreads= [KNL] |
e6e78b00 JFG |
4416 | The number of threads running loops of kfree_rcu(). |
4417 | ||
4e88ec4a | 4418 | rcuscale.kfree_alloc_num= [KNL] |
e6e78b00 JFG |
4419 | Number of allocations and frees done in an iteration. |
4420 | ||
4e88ec4a PM |
4421 | rcuscale.kfree_loops= [KNL] |
4422 | Number of loops doing rcuscale.kfree_alloc_num number | |
e6e78b00 JFG |
4423 | of allocations and frees. |
4424 | ||
4e88ec4a | 4425 | rcuscale.nreaders= [KNL] |
bdea9e34 PM |
4426 | Set number of RCU readers. The value -1 selects |
4427 | N, where N is the number of CPUs. A value | |
4428 | "n" less than -1 selects N-n+1, where N is again | |
4429 | the number of CPUs. For example, -2 selects N | |
4430 | (the number of CPUs), -3 selects N+1, and so on. | |
4431 | A value of "n" less than or equal to -N selects | |
4432 | a single reader. | |
4433 | ||
4e88ec4a | 4434 | rcuscale.nwriters= [KNL] |
bdea9e34 | 4435 | Set number of RCU writers. The values operate |
4e88ec4a | 4436 | the same as for rcuscale.nreaders. |
bdea9e34 PM |
4437 | N, where N is the number of CPUs |
4438 | ||
4e88ec4a | 4439 | rcuscale.perf_type= [KNL] |
820687a7 PM |
4440 | Specify the RCU implementation to test. |
4441 | ||
4e88ec4a | 4442 | rcuscale.shutdown= [KNL] |
bdea9e34 PM |
4443 | Shut the system down after performance tests |
4444 | complete. This is useful for hands-off automated | |
4445 | testing. | |
4446 | ||
4e88ec4a | 4447 | rcuscale.verbose= [KNL] |
bdea9e34 PM |
4448 | Enable additional printk() statements. |
4449 | ||
4e88ec4a | 4450 | rcuscale.writer_holdoff= [KNL] |
820687a7 PM |
4451 | Write-side holdoff between grace periods, |
4452 | in microseconds. The default of zero says | |
4453 | no holdoff. | |
4454 | ||
4102adab | 4455 | rcutorture.fqs_duration= [KNL] |
21b05de4 PM |
4456 | Set duration of force_quiescent_state bursts |
4457 | in microseconds. | |
dabb8aa9 | 4458 | |
4102adab | 4459 | rcutorture.fqs_holdoff= [KNL] |
21b05de4 PM |
4460 | Set holdoff time within force_quiescent_state bursts |
4461 | in microseconds. | |
dabb8aa9 | 4462 | |
4102adab | 4463 | rcutorture.fqs_stutter= [KNL] |
21b05de4 PM |
4464 | Set wait time between force_quiescent_state bursts |
4465 | in seconds. | |
4466 | ||
ed8f6fb2 PM |
4467 | rcutorture.fwd_progress= [KNL] |
4468 | Enable RCU grace-period forward-progress testing | |
4469 | for the types of RCU supporting this notion. | |
4470 | ||
4471 | rcutorture.fwd_progress_div= [KNL] | |
4472 | Specify the fraction of a CPU-stall-warning | |
4473 | period to do tight-loop forward-progress testing. | |
4474 | ||
4475 | rcutorture.fwd_progress_holdoff= [KNL] | |
4476 | Number of seconds to wait between successive | |
4477 | forward-progress tests. | |
4478 | ||
4479 | rcutorture.fwd_progress_need_resched= [KNL] | |
4480 | Enclose cond_resched() calls within checks for | |
4481 | need_resched() during tight-loop forward-progress | |
4482 | testing. | |
4483 | ||
21b05de4 PM |
4484 | rcutorture.gp_cond= [KNL] |
4485 | Use conditional/asynchronous update-side | |
4486 | primitives, if available. | |
dabb8aa9 | 4487 | |
4102adab | 4488 | rcutorture.gp_exp= [KNL] |
21b05de4 | 4489 | Use expedited update-side primitives, if available. |
4102adab PM |
4490 | |
4491 | rcutorture.gp_normal= [KNL] | |
21b05de4 PM |
4492 | Use normal (non-expedited) asynchronous |
4493 | update-side primitives, if available. | |
4494 | ||
4495 | rcutorture.gp_sync= [KNL] | |
4496 | Use normal (non-expedited) synchronous | |
4497 | update-side primitives, if available. If all | |
4498 | of rcutorture.gp_cond=, rcutorture.gp_exp=, | |
4499 | rcutorture.gp_normal=, and rcutorture.gp_sync= | |
4500 | are zero, rcutorture acts as if is interpreted | |
4501 | they are all non-zero. | |
dabb8aa9 | 4502 | |
d6855142 PM |
4503 | rcutorture.irqreader= [KNL] |
4504 | Run RCU readers from irq handlers, or, more | |
4505 | accurately, from a timer handler. Not all RCU | |
4506 | flavors take kindly to this sort of thing. | |
4507 | ||
4508 | rcutorture.leakpointer= [KNL] | |
4509 | Leak an RCU-protected pointer out of the reader. | |
4510 | This can of course result in splats, and is | |
4511 | intended to test the ability of things like | |
4512 | CONFIG_RCU_STRICT_GRACE_PERIOD=y to detect | |
4513 | such leaks. | |
4514 | ||
4102adab | 4515 | rcutorture.n_barrier_cbs= [KNL] |
dabb8aa9 PM |
4516 | Set callbacks/threads for rcu_barrier() testing. |
4517 | ||
4102adab | 4518 | rcutorture.nfakewriters= [KNL] |
dabb8aa9 PM |
4519 | Set number of concurrent RCU writers. These just |
4520 | stress RCU, they don't participate in the actual | |
4521 | test, hence the "fake". | |
4522 | ||
2c4319bd PM |
4523 | rcutorture.nocbs_nthreads= [KNL] |
4524 | Set number of RCU callback-offload togglers. | |
4525 | Zero (the default) disables toggling. | |
4526 | ||
4527 | rcutorture.nocbs_toggle= [KNL] | |
4528 | Set the delay in milliseconds between successive | |
4529 | callback-offload toggling attempts. | |
4530 | ||
4102adab | 4531 | rcutorture.nreaders= [KNL] |
3838cc18 PM |
4532 | Set number of RCU readers. The value -1 selects |
4533 | N-1, where N is the number of CPUs. A value | |
4534 | "n" less than -1 selects N-n-2, where N is again | |
4535 | the number of CPUs. For example, -2 selects N | |
4536 | (the number of CPUs), -3 selects N+1, and so on. | |
dabb8aa9 | 4537 | |
4102adab PM |
4538 | rcutorture.object_debug= [KNL] |
4539 | Enable debug-object double-call_rcu() testing. | |
4540 | ||
4541 | rcutorture.onoff_holdoff= [KNL] | |
dabb8aa9 PM |
4542 | Set time (s) after boot for CPU-hotplug testing. |
4543 | ||
4102adab | 4544 | rcutorture.onoff_interval= [KNL] |
028be12b PM |
4545 | Set time (jiffies) between CPU-hotplug operations, |
4546 | or zero to disable CPU-hotplug testing. | |
dabb8aa9 | 4547 | |
4a5f133c PM |
4548 | rcutorture.read_exit= [KNL] |
4549 | Set the number of read-then-exit kthreads used | |
4550 | to test the interaction of RCU updaters and | |
4551 | task-exit processing. | |
4552 | ||
4553 | rcutorture.read_exit_burst= [KNL] | |
4554 | The number of times in a given read-then-exit | |
4555 | episode that a set of read-then-exit kthreads | |
4556 | is spawned. | |
4557 | ||
4558 | rcutorture.read_exit_delay= [KNL] | |
4559 | The delay, in seconds, between successive | |
4560 | read-then-exit testing episodes. | |
4561 | ||
4102adab | 4562 | rcutorture.shuffle_interval= [KNL] |
dabb8aa9 PM |
4563 | Set task-shuffle interval (s). Shuffling tasks |
4564 | allows some CPUs to go into dyntick-idle mode | |
4565 | during the rcutorture test. | |
4566 | ||
4102adab | 4567 | rcutorture.shutdown_secs= [KNL] |
dabb8aa9 PM |
4568 | Set time (s) after boot system shutdown. This |
4569 | is useful for hands-off automated testing. | |
4570 | ||
4102adab | 4571 | rcutorture.stall_cpu= [KNL] |
dabb8aa9 PM |
4572 | Duration of CPU stall (s) to test RCU CPU stall |
4573 | warnings, zero to disable. | |
4574 | ||
19a8ff95 PM |
4575 | rcutorture.stall_cpu_block= [KNL] |
4576 | Sleep while stalling if set. This will result | |
4577 | in warnings from preemptible RCU in addition | |
4578 | to any other stall-related activity. | |
4579 | ||
4102adab | 4580 | rcutorture.stall_cpu_holdoff= [KNL] |
dabb8aa9 PM |
4581 | Time to wait (s) after boot before inducing stall. |
4582 | ||
2b1516e5 PM |
4583 | rcutorture.stall_cpu_irqsoff= [KNL] |
4584 | Disable interrupts while stalling if set. | |
4585 | ||
55b2dcf5 PM |
4586 | rcutorture.stall_gp_kthread= [KNL] |
4587 | Duration (s) of forced sleep within RCU | |
4588 | grace-period kthread to test RCU CPU stall | |
4589 | warnings, zero to disable. If both stall_cpu | |
4590 | and stall_gp_kthread are specified, the | |
4591 | kthread is starved first, then the CPU. | |
4592 | ||
4102adab | 4593 | rcutorture.stat_interval= [KNL] |
dabb8aa9 PM |
4594 | Time (s) between statistics printk()s. |
4595 | ||
4102adab | 4596 | rcutorture.stutter= [KNL] |
dabb8aa9 PM |
4597 | Time (s) to stutter testing, for example, specifying |
4598 | five seconds causes the test to run for five seconds, | |
4599 | wait for five seconds, and so on. This tests RCU's | |
4600 | ability to transition abruptly to and from idle. | |
4601 | ||
4102adab | 4602 | rcutorture.test_boost= [KNL] |
dabb8aa9 PM |
4603 | Test RCU priority boosting? 0=no, 1=maybe, 2=yes. |
4604 | "Maybe" means test if the RCU implementation | |
4605 | under test support RCU priority boosting. | |
4606 | ||
4102adab | 4607 | rcutorture.test_boost_duration= [KNL] |
dabb8aa9 PM |
4608 | Duration (s) of each individual boost test. |
4609 | ||
4102adab | 4610 | rcutorture.test_boost_interval= [KNL] |
dabb8aa9 PM |
4611 | Interval (s) between each boost test. |
4612 | ||
4102adab | 4613 | rcutorture.test_no_idle_hz= [KNL] |
dabb8aa9 PM |
4614 | Test RCU's dyntick-idle handling. See also the |
4615 | rcutorture.shuffle_interval parameter. | |
4616 | ||
4102adab | 4617 | rcutorture.torture_type= [KNL] |
dabb8aa9 PM |
4618 | Specify the RCU implementation to test. |
4619 | ||
4102adab | 4620 | rcutorture.verbose= [KNL] |
dabb8aa9 PM |
4621 | Enable additional printk() statements. |
4622 | ||
cdc694b2 PM |
4623 | rcupdate.rcu_cpu_stall_ftrace_dump= [KNL] |
4624 | Dump ftrace buffer after reporting RCU CPU | |
4625 | stall warning. | |
4626 | ||
5a9be7c6 PM |
4627 | rcupdate.rcu_cpu_stall_suppress= [KNL] |
4628 | Suppress RCU CPU stall warning messages. | |
4629 | ||
58c53360 PM |
4630 | rcupdate.rcu_cpu_stall_suppress_at_boot= [KNL] |
4631 | Suppress RCU CPU stall warning messages and | |
4632 | rcutorture writer stall warnings that occur | |
4633 | during early boot, that is, during the time | |
4634 | before the init task is spawned. | |
4635 | ||
5a9be7c6 PM |
4636 | rcupdate.rcu_cpu_stall_timeout= [KNL] |
4637 | Set timeout for RCU CPU stall warning messages. | |
4638 | ||
4102adab PM |
4639 | rcupdate.rcu_expedited= [KNL] |
4640 | Use expedited grace-period primitives, for | |
4641 | example, synchronize_rcu_expedited() instead | |
4642 | of synchronize_rcu(). This reduces latency, | |
4643 | but can increase CPU utilization, degrade | |
4644 | real-time latency, and degrade energy efficiency. | |
79cfea02 | 4645 | No effect on CONFIG_TINY_RCU kernels. |
4102adab | 4646 | |
5a9be7c6 PM |
4647 | rcupdate.rcu_normal= [KNL] |
4648 | Use only normal grace-period primitives, | |
4649 | for example, synchronize_rcu() instead of | |
4650 | synchronize_rcu_expedited(). This improves | |
79cfea02 PM |
4651 | real-time latency, CPU utilization, and |
4652 | energy efficiency, but can expose users to | |
4653 | increased grace-period latency. This parameter | |
4654 | overrides rcupdate.rcu_expedited. No effect on | |
4655 | CONFIG_TINY_RCU kernels. | |
4102adab | 4656 | |
3e42ec1a PM |
4657 | rcupdate.rcu_normal_after_boot= [KNL] |
4658 | Once boot has completed (that is, after | |
4659 | rcu_end_inkernel_boot() has been invoked), use | |
79cfea02 PM |
4660 | only normal grace-period primitives. No effect |
4661 | on CONFIG_TINY_RCU kernels. | |
3e42ec1a | 4662 | |
36221e10 JC |
4663 | But note that CONFIG_PREEMPT_RT=y kernels enables |
4664 | this kernel boot parameter, forcibly setting | |
4665 | it to the value one, that is, converting any | |
4666 | post-boot attempt at an expedited RCU grace | |
4667 | period to instead use normal non-expedited | |
4668 | grace-period processing. | |
4669 | ||
b0afa0f0 PM |
4670 | rcupdate.rcu_task_ipi_delay= [KNL] |
4671 | Set time in jiffies during which RCU tasks will | |
4672 | avoid sending IPIs, starting with the beginning | |
4673 | of a given grace period. Setting a large | |
4674 | number avoids disturbing real-time workloads, | |
4675 | but lengthens grace periods. | |
4676 | ||
52db30ab PM |
4677 | rcupdate.rcu_task_stall_timeout= [KNL] |
4678 | Set timeout in jiffies for RCU task stall warning | |
4679 | messages. Disable with a value less than or equal | |
4680 | to zero. | |
4681 | ||
74860fee PK |
4682 | rcupdate.rcu_self_test= [KNL] |
4683 | Run the RCU early boot self tests | |
4684 | ||
ffdfc409 OJ |
4685 | rdinit= [KNL] |
4686 | Format: <full_path> | |
4687 | Run specified binary instead of /init from the ramdisk, | |
4688 | used for early userspace startup. See initrd. | |
4689 | ||
c49a0a80 TL |
4690 | rdrand= [X86] |
4691 | force - Override the decision by the kernel to hide the | |
4692 | advertisement of RDRAND support (this affects | |
4693 | certain AMD processors because of buggy BIOS | |
4694 | support, specifically around the suspend/resume | |
4695 | path). | |
4696 | ||
1d9807fc TL |
4697 | rdt= [HW,X86,RDT] |
4698 | Turn on/off individual RDT features. List is: | |
31516de3 FY |
4699 | cmt, mbmtotal, mbmlocal, l3cat, l3cdp, l2cat, l2cdp, |
4700 | mba. | |
1d9807fc TL |
4701 | E.g. to turn on cmt and turn off mba use: |
4702 | rdt=cmt,!mba | |
4703 | ||
1b3a5d02 RH |
4704 | reboot= [KNL] |
4705 | Format (x86 or x86_64): | |
4706 | [w[arm] | c[old] | h[ard] | s[oft] | g[pio]] \ | |
4707 | [[,]s[mp]#### \ | |
4708 | [[,]b[ios] | a[cpi] | k[bd] | t[riple] | e[fi] | p[ci]] \ | |
4709 | [[,]f[orce] | |
b287a25a AK |
4710 | Where reboot_mode is one of warm (soft) or cold (hard) or gpio |
4711 | (prefix with 'panic_' to set mode for panic | |
4712 | reboot only), | |
1b3a5d02 RH |
4713 | reboot_type is one of bios, acpi, kbd, triple, efi, or pci, |
4714 | reboot_force is either force or not specified, | |
4715 | reboot_cpu is s[mp]#### with #### being the processor | |
4716 | to be used for rebooting. | |
1da177e4 | 4717 | |
1fbeb3a8 | 4718 | refscale.holdoff= [KNL] |
847dd70a PM |
4719 | Set test-start holdoff period. The purpose of |
4720 | this parameter is to delay the start of the | |
4721 | test until boot completes in order to avoid | |
4722 | interference. | |
4723 | ||
1fbeb3a8 | 4724 | refscale.loops= [KNL] |
847dd70a PM |
4725 | Set the number of loops over the synchronization |
4726 | primitive under test. Increasing this number | |
4727 | reduces noise due to loop start/end overhead, | |
4728 | but the default has already reduced the per-pass | |
4729 | noise to a handful of picoseconds on ca. 2020 | |
4730 | x86 laptops. | |
4731 | ||
1fbeb3a8 | 4732 | refscale.nreaders= [KNL] |
847dd70a PM |
4733 | Set number of readers. The default value of -1 |
4734 | selects N, where N is roughly 75% of the number | |
4735 | of CPUs. A value of zero is an interesting choice. | |
4736 | ||
1fbeb3a8 | 4737 | refscale.nruns= [KNL] |
847dd70a PM |
4738 | Set number of runs, each of which is dumped onto |
4739 | the console log. | |
4740 | ||
1fbeb3a8 | 4741 | refscale.readdelay= [KNL] |
847dd70a PM |
4742 | Set the read-side critical-section duration, |
4743 | measured in microseconds. | |
4744 | ||
1fbeb3a8 PM |
4745 | refscale.scale_type= [KNL] |
4746 | Specify the read-protection implementation to test. | |
4747 | ||
4748 | refscale.shutdown= [KNL] | |
847dd70a PM |
4749 | Shut down the system at the end of the performance |
4750 | test. This defaults to 1 (shut it down) when | |
4e88ec4a PM |
4751 | refscale is built into the kernel and to 0 (leave |
4752 | it running) when refscale is built as a module. | |
847dd70a | 4753 | |
1fbeb3a8 | 4754 | refscale.verbose= [KNL] |
847dd70a PM |
4755 | Enable additional printk() statements. |
4756 | ||
e76506f0 PM |
4757 | refscale.verbose_batched= [KNL] |
4758 | Batch the additional printk() statements. If zero | |
4759 | (the default) or negative, print everything. Otherwise, | |
4760 | print every Nth verbose statement, where N is the value | |
4761 | specified. | |
4762 | ||
46b6d94e PJ |
4763 | relax_domain_level= |
4764 | [KNL, SMP] Set scheduler's default relax_domain_level. | |
da82c92f | 4765 | See Documentation/admin-guide/cgroup-v1/cpusets.rst. |
46b6d94e | 4766 | |
ffd2e8df BH |
4767 | reserve= [KNL,BUGS] Force kernel to ignore I/O ports or memory |
4768 | Format: <base1>,<size1>[,<base2>,<size2>,...] | |
4769 | Reserve I/O ports or memory so the kernel won't use | |
4770 | them. If <base> is less than 0x10000, the region | |
4771 | is assumed to be I/O ports; otherwise it is memory. | |
1da177e4 | 4772 | |
cd4f0ef7 | 4773 | reservetop= [X86-32] |
461a9aff ZA |
4774 | Format: nn[KMG] |
4775 | Reserves a hole at the top of the kernel virtual | |
4776 | address space. | |
4777 | ||
9ea77bdb PA |
4778 | reservelow= [X86] |
4779 | Format: nn[K] | |
4780 | Set the amount of memory to reserve for BIOS at | |
4781 | the bottom of the address space. | |
4782 | ||
7e96287d VG |
4783 | reset_devices [KNL] Force drivers to reset the underlying device |
4784 | during initialization. | |
4785 | ||
a9913044 RD |
4786 | resume= [SWSUSP] |
4787 | Specify the partition device for software suspend | |
2df83fa4 MB |
4788 | Format: |
4789 | {/dev/<dev> | PARTUUID=<uuid> | <int>:<int> | <hex>} | |
1da177e4 | 4790 | |
ecbd0da1 RW |
4791 | resume_offset= [SWSUSP] |
4792 | Specify the offset from the beginning of the partition | |
4793 | given by "resume=" at which the swap header is located, | |
4794 | in <PAGE_SIZE> units (needed only for swap files). | |
151f4e2b | 4795 | See Documentation/power/swsusp-and-swap-files.rst |
ecbd0da1 | 4796 | |
f126f733 BS |
4797 | resumedelay= [HIBERNATION] Delay (in seconds) to pause before attempting to |
4798 | read the resume files | |
4799 | ||
6f8d7022 BS |
4800 | resumewait [HIBERNATION] Wait (indefinitely) for resume device to show up. |
4801 | Useful for devices that are detected asynchronously | |
4802 | (e.g. USB and MMC devices). | |
4803 | ||
f996fc96 BS |
4804 | hibernate= [HIBERNATION] |
4805 | noresume Don't check if there's a hibernation image | |
4806 | present during boot. | |
4807 | nocompress Don't compress/decompress hibernation images. | |
a6e15a39 | 4808 | no Disable hibernation and resume. |
4c0b6c10 RW |
4809 | protect_image Turn on image protection during restoration |
4810 | (that will set all pages holding image data | |
4811 | during restoration read-only). | |
f996fc96 | 4812 | |
0a7b35cb MN |
4813 | retain_initrd [RAM] Keep initrd memory after extraction |
4814 | ||
0efbb786 AC |
4815 | rfkill.default_state= |
4816 | 0 "airplane mode". All wifi, bluetooth, wimax, gps, fm, | |
4817 | etc. communication is blocked by default. | |
4818 | 1 Unblocked. | |
4819 | ||
4820 | rfkill.master_switch_mode= | |
4821 | 0 The "airplane mode" button does nothing. | |
4822 | 1 The "airplane mode" button toggles between everything | |
4823 | blocked and the previous configuration. | |
4824 | 2 The "airplane mode" button toggles between everything | |
4825 | blocked and everything unblocked. | |
4826 | ||
1da177e4 LT |
4827 | rhash_entries= [KNL,NET] |
4828 | Set number of hash buckets for route cache | |
4829 | ||
e16fd002 GA |
4830 | ring3mwait=disable |
4831 | [KNL] Disable ring 3 MONITOR/MWAIT feature on supported | |
4832 | CPUs. | |
4833 | ||
1da177e4 LT |
4834 | ro [KNL] Mount root device read-only on boot |
4835 | ||
d2aa1aca KC |
4836 | rodata= [KNL] |
4837 | on Mark read-only kernel memory as read-only (default). | |
4838 | off Leave read-only kernel memory writable for debugging. | |
4839 | ||
605df8af HS |
4840 | rockchip.usb_uart |
4841 | Enable the uart passthrough on the designated usb port | |
4842 | on Rockchip SoCs. When active, the signals of the | |
4843 | debug-uart get routed to the D+ and D- pins of the usb | |
4844 | port and the regular usb controller gets disabled. | |
4845 | ||
1da177e4 | 4846 | root= [KNL] Root filesystem |
f2d34fd9 | 4847 | See name_to_dev_t comment in init/do_mounts.c. |
1da177e4 LT |
4848 | |
4849 | rootdelay= [KNL] Delay (in seconds) to pause before attempting to | |
4850 | mount the root filesystem | |
4851 | ||
4852 | rootflags= [KNL] Set root filesystem mount option string | |
4853 | ||
4854 | rootfstype= [KNL] Set root filesystem type | |
4855 | ||
cc1ed754 PO |
4856 | rootwait [KNL] Wait (indefinitely) for root device to show up. |
4857 | Useful for devices that are detected asynchronously | |
4858 | (e.g. USB and MMC devices). | |
4859 | ||
5c71d618 RT |
4860 | rproc_mem=nn[KMG][@address] |
4861 | [KNL,ARM,CMA] Remoteproc physical memory block. | |
4862 | Memory area to be used by remote processor image, | |
4863 | managed by CMA. | |
4864 | ||
1da177e4 LT |
4865 | rw [KNL] Mount root device read-write on boot |
4866 | ||
4867 | S [KNL] Run init in single mode | |
4868 | ||
c60d1ae4 GS |
4869 | s390_iommu= [HW,S390] |
4870 | Set s390 IOTLB flushing mode | |
4871 | strict | |
4872 | With strict flushing every unmap operation will result in | |
4873 | an IOTLB flush. Default is lazy flushing before reuse, | |
4874 | which is faster. | |
4875 | ||
1da177e4 LT |
4876 | sa1100ir [NET] |
4877 | See drivers/net/irda/sa1100_ir.c. | |
4878 | ||
1da177e4 | 4879 | sbni= [NET] Granch SBNI12 leased line adapter |
a9913044 | 4880 | |
9406415f | 4881 | sched_verbose [KNL] Enables verbose scheduler debug messages. |
f6630114 | 4882 | |
cb251765 MG |
4883 | schedstats= [KNL,X86] Enable or disable scheduled statistics. |
4884 | Allowed values are enable and disable. This feature | |
4885 | incurs a small amount of overhead in the scheduler | |
4886 | but is useful for debugging and performance tuning. | |
f6630114 | 4887 | |
05289b90 TG |
4888 | sched_thermal_decay_shift= |
4889 | [KNL, SMP] Set a decay shift for scheduler thermal | |
4890 | pressure signal. Thermal pressure signal follows the | |
4891 | default decay period of other scheduler pelt | |
4892 | signals(usually 32 ms but configurable). Setting | |
4893 | sched_thermal_decay_shift will left shift the decay | |
4894 | period for the thermal pressure signal by the shift | |
4895 | value. | |
4896 | i.e. with the default pelt decay period of 32 ms | |
4897 | sched_thermal_decay_shift thermal pressure decay pr | |
4898 | 1 64 ms | |
4899 | 2 128 ms | |
4900 | and so on. | |
4901 | Format: integer between 0 and 10 | |
4902 | Default is 0. | |
4903 | ||
e9d338a0 PM |
4904 | scftorture.holdoff= [KNL] |
4905 | Number of seconds to hold off before starting | |
4906 | test. Defaults to zero for module insertion and | |
4907 | to 10 seconds for built-in smp_call_function() | |
4908 | tests. | |
4909 | ||
4910 | scftorture.longwait= [KNL] | |
4911 | Request ridiculously long waits randomly selected | |
4912 | up to the chosen limit in seconds. Zero (the | |
4913 | default) disables this feature. Please note | |
4914 | that requesting even small non-zero numbers of | |
4915 | seconds can result in RCU CPU stall warnings, | |
4916 | softlockup complaints, and so on. | |
4917 | ||
4918 | scftorture.nthreads= [KNL] | |
4919 | Number of kthreads to spawn to invoke the | |
4920 | smp_call_function() family of functions. | |
4921 | The default of -1 specifies a number of kthreads | |
4922 | equal to the number of CPUs. | |
4923 | ||
4924 | scftorture.onoff_holdoff= [KNL] | |
4925 | Number seconds to wait after the start of the | |
4926 | test before initiating CPU-hotplug operations. | |
4927 | ||
4928 | scftorture.onoff_interval= [KNL] | |
4929 | Number seconds to wait between successive | |
4930 | CPU-hotplug operations. Specifying zero (which | |
4931 | is the default) disables CPU-hotplug operations. | |
4932 | ||
4933 | scftorture.shutdown_secs= [KNL] | |
4934 | The number of seconds following the start of the | |
4935 | test after which to shut down the system. The | |
4936 | default of zero avoids shutting down the system. | |
4937 | Non-zero values are useful for automated tests. | |
4938 | ||
4939 | scftorture.stat_interval= [KNL] | |
4940 | The number of seconds between outputting the | |
4941 | current test statistics to the console. A value | |
4942 | of zero disables statistics output. | |
4943 | ||
4944 | scftorture.stutter_cpus= [KNL] | |
4945 | The number of jiffies to wait between each change | |
4946 | to the set of CPUs under test. | |
4947 | ||
4948 | scftorture.use_cpus_read_lock= [KNL] | |
4949 | Use use_cpus_read_lock() instead of the default | |
4950 | preempt_disable() to disable CPU hotplug | |
4951 | while invoking one of the smp_call_function*() | |
4952 | functions. | |
4953 | ||
4954 | scftorture.verbose= [KNL] | |
4955 | Enable additional printk() statements. | |
4956 | ||
4957 | scftorture.weight_single= [KNL] | |
4958 | The probability weighting to use for the | |
4959 | smp_call_function_single() function with a zero | |
4960 | "wait" parameter. A value of -1 selects the | |
4961 | default if all other weights are -1. However, | |
4962 | if at least one weight has some other value, a | |
4963 | value of -1 will instead select a weight of zero. | |
4964 | ||
4965 | scftorture.weight_single_wait= [KNL] | |
4966 | The probability weighting to use for the | |
4967 | smp_call_function_single() function with a | |
4968 | non-zero "wait" parameter. See weight_single. | |
4969 | ||
4970 | scftorture.weight_many= [KNL] | |
4971 | The probability weighting to use for the | |
4972 | smp_call_function_many() function with a zero | |
4973 | "wait" parameter. See weight_single. | |
4974 | Note well that setting a high probability for | |
4975 | this weighting can place serious IPI load | |
4976 | on the system. | |
4977 | ||
4978 | scftorture.weight_many_wait= [KNL] | |
4979 | The probability weighting to use for the | |
4980 | smp_call_function_many() function with a | |
4981 | non-zero "wait" parameter. See weight_single | |
4982 | and weight_many. | |
4983 | ||
4984 | scftorture.weight_all= [KNL] | |
4985 | The probability weighting to use for the | |
4986 | smp_call_function_all() function with a zero | |
4987 | "wait" parameter. See weight_single and | |
4988 | weight_many. | |
4989 | ||
4990 | scftorture.weight_all_wait= [KNL] | |
4991 | The probability weighting to use for the | |
4992 | smp_call_function_all() function with a | |
4993 | non-zero "wait" parameter. See weight_single | |
4994 | and weight_many. | |
4995 | ||
5307c955 MG |
4996 | skew_tick= [KNL] Offset the periodic timer tick per cpu to mitigate |
4997 | xtime_lock contention on larger systems, and/or RCU lock | |
4998 | contention on all systems with CONFIG_MAXSMP set. | |
4999 | Format: { "0" | "1" } | |
5000 | 0 -- disable. (may be 1 via CONFIG_CMDLINE="skew_tick=1" | |
5001 | 1 -- enable. | |
5002 | Note: increases power consumption, thus should only be | |
5003 | enabled if running jitter sensitive (HPC/RT) workloads. | |
5004 | ||
89a9684e KC |
5005 | security= [SECURITY] Choose a legacy "major" security module to |
5006 | enable at boot. This has been deprecated by the | |
5007 | "lsm=" parameter. | |
0cb55ad2 RD |
5008 | |
5009 | selinux= [SELINUX] Disable or enable SELinux at boot time. | |
1da177e4 LT |
5010 | Format: { "0" | "1" } |
5011 | See security/selinux/Kconfig help text. | |
5012 | 0 -- disable. | |
5013 | 1 -- enable. | |
d41415eb | 5014 | Default value is 1. |
1da177e4 | 5015 | |
c1c124e9 JJ |
5016 | apparmor= [APPARMOR] Disable or enable AppArmor at boot time |
5017 | Format: { "0" | "1" } | |
5018 | See security/apparmor/Kconfig help text | |
5019 | 0 -- disable. | |
5020 | 1 -- enable. | |
5021 | Default value is set via kernel config option. | |
5022 | ||
cd4f0ef7 | 5023 | serialnumber [BUGS=X86-32] |
1da177e4 | 5024 | |
1da177e4 LT |
5025 | shapers= [NET] |
5026 | Maximal number of shapers. | |
a9913044 | 5027 | |
1da177e4 LT |
5028 | simeth= [IA-64] |
5029 | simscsi= | |
a9913044 | 5030 | |
1da177e4 LT |
5031 | slram= [HW,MTD] |
5032 | ||
82edd9d5 RA |
5033 | slab_merge [MM] |
5034 | Enable merging of slabs with similar size when the | |
5035 | kernel is built without CONFIG_SLAB_MERGE_DEFAULT. | |
5036 | ||
423c929c JK |
5037 | slab_nomerge [MM] |
5038 | Disable merging of slabs with similar size. May be | |
5039 | necessary if there is some reason to distinguish | |
7660a6fd KC |
5040 | allocs to different slabs, especially in hardened |
5041 | environments where the risk of heap overflows and | |
5042 | layout control by attackers can usually be | |
5043 | frustrated by disabling merging. This will reduce | |
5044 | most of the exposure of a heap attack to a single | |
5045 | cache (risks via metadata attacks are mostly | |
5046 | unchanged). Debug options disable merging on their | |
5047 | own. | |
ad56b738 | 5048 | For more information see Documentation/vm/slub.rst. |
423c929c | 5049 | |
3df1cccd DR |
5050 | slab_max_order= [MM, SLAB] |
5051 | Determines the maximum allowed order for slabs. | |
5052 | A high setting may cause OOMs due to memory | |
5053 | fragmentation. Defaults to 1 for systems with | |
5054 | more than 32MB of RAM, 0 otherwise. | |
5055 | ||
e17f1dfb | 5056 | slub_debug[=options[,slabs][;[options[,slabs]]...] [MM, SLUB] |
f0630fff CL |
5057 | Enabling slub_debug allows one to determine the |
5058 | culprit if slab objects become corrupted. Enabling | |
5059 | slub_debug can create guard zones around objects and | |
5060 | may poison objects when not in use. Also tracks the | |
5061 | last alloc / free. For more information see | |
ad56b738 | 5062 | Documentation/vm/slub.rst. |
c1aee215 CL |
5063 | |
5064 | slub_max_order= [MM, SLUB] | |
f0630fff CL |
5065 | Determines the maximum allowed order for slabs. |
5066 | A high setting may cause OOMs due to memory | |
5067 | fragmentation. For more information see | |
ad56b738 | 5068 | Documentation/vm/slub.rst. |
c1aee215 CL |
5069 | |
5070 | slub_min_objects= [MM, SLUB] | |
f0630fff CL |
5071 | The minimum number of objects per slab. SLUB will |
5072 | increase the slab order up to slub_max_order to | |
5073 | generate a sufficiently large slab able to contain | |
5074 | the number of objects indicated. The higher the number | |
5075 | of objects the smaller the overhead of tracking slabs | |
5076 | and the less frequently locks need to be acquired. | |
ad56b738 | 5077 | For more information see Documentation/vm/slub.rst. |
c1aee215 CL |
5078 | |
5079 | slub_min_order= [MM, SLUB] | |
24775d65 | 5080 | Determines the minimum page order for slabs. Must be |
f0630fff | 5081 | lower than slub_max_order. |
ad56b738 | 5082 | For more information see Documentation/vm/slub.rst. |
c1aee215 | 5083 | |
82edd9d5 RA |
5084 | slub_merge [MM, SLUB] |
5085 | Same with slab_merge. | |
5086 | ||
c1aee215 | 5087 | slub_nomerge [MM, SLUB] |
423c929c JK |
5088 | Same with slab_nomerge. This is supported for legacy. |
5089 | See slab_nomerge for more information. | |
c1aee215 | 5090 | |
1da177e4 LT |
5091 | smart2= [HW] |
5092 | Format: <io1>[,<io2>[,...,<io8>]] | |
5093 | ||
d0d4f69b BH |
5094 | smsc-ircc2.nopnp [HW] Don't use PNP to discover SMC devices |
5095 | smsc-ircc2.ircc_cfg= [HW] Device configuration I/O port | |
5096 | smsc-ircc2.ircc_sir= [HW] SIR base I/O port | |
5097 | smsc-ircc2.ircc_fir= [HW] FIR base I/O port | |
5098 | smsc-ircc2.ircc_irq= [HW] IRQ line | |
5099 | smsc-ircc2.ircc_dma= [HW] DMA channel | |
5100 | smsc-ircc2.ircc_transceiver= [HW] Transceiver type: | |
5101 | 0: Toshiba Satellite 1800 (GP data pin select) | |
5102 | 1: Fast pin select (default) | |
5103 | 2: ATC IRMode | |
5104 | ||
52c48c51 SS |
5105 | smt [KNL,S390] Set the maximum number of threads (logical |
5106 | CPUs) to use per physical CPU on systems capable of | |
5107 | symmetric multithreading (SMT). Will be capped to the | |
5108 | actual hardware limit. | |
5109 | Format: <integer> | |
5110 | Default: -1 (no limit) | |
5111 | ||
9c44bc03 IM |
5112 | softlockup_panic= |
5113 | [KNL] Should the soft-lockup detector generate panics. | |
f117955a | 5114 | Format: 0 | 1 |
9c44bc03 | 5115 | |
f117955a | 5116 | A value of 1 instructs the soft-lockup detector |
0a07bef6 GP |
5117 | to panic the machine when a soft-lockup occurs. It is |
5118 | also controlled by the kernel.softlockup_panic sysctl | |
5119 | and CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC, which is the | |
5120 | respective build-time switch to that functionality. | |
3ce62385 | 5121 | |
ed235875 AT |
5122 | softlockup_all_cpu_backtrace= |
5123 | [KNL] Should the soft-lockup detector generate | |
5124 | backtraces on all cpus. | |
f117955a | 5125 | Format: 0 | 1 |
ed235875 | 5126 | |
1da177e4 | 5127 | sonypi.*= [HW] Sony Programmable I/O Control Device driver |
9e1cbede | 5128 | See Documentation/admin-guide/laptops/sonypi.rst |
1da177e4 | 5129 | |
da285121 DW |
5130 | spectre_v2= [X86] Control mitigation of Spectre variant 2 |
5131 | (indirect branch speculation) vulnerability. | |
fa1202ef TG |
5132 | The default operation protects the kernel from |
5133 | user space attacks. | |
da285121 | 5134 | |
fa1202ef TG |
5135 | on - unconditionally enable, implies |
5136 | spectre_v2_user=on | |
5137 | off - unconditionally disable, implies | |
5138 | spectre_v2_user=off | |
da285121 DW |
5139 | auto - kernel detects whether your CPU model is |
5140 | vulnerable | |
5141 | ||
5142 | Selecting 'on' will, and 'auto' may, choose a | |
5143 | mitigation method at run time according to the | |
5144 | CPU, the available microcode, the setting of the | |
5145 | CONFIG_RETPOLINE configuration option, and the | |
5146 | compiler with which the kernel was built. | |
5147 | ||
fa1202ef TG |
5148 | Selecting 'on' will also enable the mitigation |
5149 | against user space to user space task attacks. | |
5150 | ||
5151 | Selecting 'off' will disable both the kernel and | |
5152 | the user space protections. | |
5153 | ||
da285121 DW |
5154 | Specific mitigations can also be selected manually: |
5155 | ||
5156 | retpoline - replace indirect branches | |
5157 | retpoline,generic - google's original retpoline | |
5158 | retpoline,amd - AMD-specific minimal thunk | |
5159 | ||
5160 | Not specifying this option is equivalent to | |
5161 | spectre_v2=auto. | |
5162 | ||
fa1202ef TG |
5163 | spectre_v2_user= |
5164 | [X86] Control mitigation of Spectre variant 2 | |
5165 | (indirect branch speculation) vulnerability between | |
5166 | user space tasks | |
5167 | ||
5168 | on - Unconditionally enable mitigations. Is | |
5169 | enforced by spectre_v2=on | |
5170 | ||
5171 | off - Unconditionally disable mitigations. Is | |
5172 | enforced by spectre_v2=off | |
5173 | ||
7cc765a6 TG |
5174 | prctl - Indirect branch speculation is enabled, |
5175 | but mitigation can be enabled via prctl | |
5176 | per thread. The mitigation control state | |
5177 | is inherited on fork. | |
5178 | ||
55a97402 TG |
5179 | prctl,ibpb |
5180 | - Like "prctl" above, but only STIBP is | |
5181 | controlled per thread. IBPB is issued | |
5182 | always when switching between different user | |
5183 | space processes. | |
5184 | ||
6b3e64c2 TG |
5185 | seccomp |
5186 | - Same as "prctl" above, but all seccomp | |
5187 | threads will enable the mitigation unless | |
5188 | they explicitly opt out. | |
5189 | ||
55a97402 TG |
5190 | seccomp,ibpb |
5191 | - Like "seccomp" above, but only STIBP is | |
5192 | controlled per thread. IBPB is issued | |
5193 | always when switching between different | |
5194 | user space processes. | |
5195 | ||
fa1202ef TG |
5196 | auto - Kernel selects the mitigation depending on |
5197 | the available CPU features and vulnerability. | |
6b3e64c2 TG |
5198 | |
5199 | Default mitigation: | |
5200 | If CONFIG_SECCOMP=y then "seccomp", otherwise "prctl" | |
fa1202ef TG |
5201 | |
5202 | Not specifying this option is equivalent to | |
5203 | spectre_v2_user=auto. | |
5204 | ||
24f7fc83 KRW |
5205 | spec_store_bypass_disable= |
5206 | [HW] Control Speculative Store Bypass (SSB) Disable mitigation | |
5207 | (Speculative Store Bypass vulnerability) | |
5208 | ||
5209 | Certain CPUs are vulnerable to an exploit against a | |
5210 | a common industry wide performance optimization known | |
5211 | as "Speculative Store Bypass" in which recent stores | |
5212 | to the same memory location may not be observed by | |
5213 | later loads during speculative execution. The idea | |
5214 | is that such stores are unlikely and that they can | |
5215 | be detected prior to instruction retirement at the | |
5216 | end of a particular speculation execution window. | |
5217 | ||
5218 | In vulnerable processors, the speculatively forwarded | |
5219 | store can be used in a cache side channel attack, for | |
5220 | example to read memory to which the attacker does not | |
5221 | directly have access (e.g. inside sandboxed code). | |
5222 | ||
5223 | This parameter controls whether the Speculative Store | |
5224 | Bypass optimization is used. | |
5225 | ||
6b4c1360 ME |
5226 | On x86 the options are: |
5227 | ||
f21b53b2 KC |
5228 | on - Unconditionally disable Speculative Store Bypass |
5229 | off - Unconditionally enable Speculative Store Bypass | |
5230 | auto - Kernel detects whether the CPU model contains an | |
5231 | implementation of Speculative Store Bypass and | |
5232 | picks the most appropriate mitigation. If the | |
5233 | CPU is not vulnerable, "off" is selected. If the | |
5234 | CPU is vulnerable the default mitigation is | |
5235 | architecture and Kconfig dependent. See below. | |
5236 | prctl - Control Speculative Store Bypass per thread | |
5237 | via prctl. Speculative Store Bypass is enabled | |
5238 | for a process by default. The state of the control | |
5239 | is inherited on fork. | |
5240 | seccomp - Same as "prctl" above, but all seccomp threads | |
5241 | will disable SSB unless they explicitly opt out. | |
24f7fc83 | 5242 | |
f21b53b2 KC |
5243 | Default mitigations: |
5244 | X86: If CONFIG_SECCOMP=y "seccomp", otherwise "prctl" | |
5245 | ||
6b4c1360 ME |
5246 | On powerpc the options are: |
5247 | ||
5248 | on,auto - On Power8 and Power9 insert a store-forwarding | |
5249 | barrier on kernel entry and exit. On Power7 | |
5250 | perform a software flush on kernel entry and | |
5251 | exit. | |
5252 | off - No action. | |
5253 | ||
5254 | Not specifying this option is equivalent to | |
5255 | spec_store_bypass_disable=auto. | |
5256 | ||
1da177e4 LT |
5257 | spia_io_base= [HW,MTD] |
5258 | spia_fio_base= | |
5259 | spia_pedr= | |
5260 | spia_peddr= | |
5261 | ||
6650cdd9 | 5262 | split_lock_detect= |
ebca1770 | 5263 | [X86] Enable split lock detection or bus lock detection |
6650cdd9 PZI |
5264 | |
5265 | When enabled (and if hardware support is present), atomic | |
5266 | instructions that access data across cache line | |
ebca1770 FY |
5267 | boundaries will result in an alignment check exception |
5268 | for split lock detection or a debug exception for | |
5269 | bus lock detection. | |
6650cdd9 PZI |
5270 | |
5271 | off - not enabled | |
5272 | ||
ebca1770 | 5273 | warn - the kernel will emit rate-limited warnings |
6650cdd9 | 5274 | about applications triggering the #AC |
ebca1770 FY |
5275 | exception or the #DB exception. This mode is |
5276 | the default on CPUs that support split lock | |
5277 | detection or bus lock detection. Default | |
5278 | behavior is by #AC if both features are | |
5279 | enabled in hardware. | |
6650cdd9 PZI |
5280 | |
5281 | fatal - the kernel will send SIGBUS to applications | |
ebca1770 FY |
5282 | that trigger the #AC exception or the #DB |
5283 | exception. Default behavior is by #AC if | |
5284 | both features are enabled in hardware. | |
6650cdd9 PZI |
5285 | |
5286 | If an #AC exception is hit in the kernel or in | |
5287 | firmware (i.e. not while executing in user mode) | |
5288 | the kernel will oops in either "warn" or "fatal" | |
5289 | mode. | |
5290 | ||
ebca1770 FY |
5291 | #DB exception for bus lock is triggered only when |
5292 | CPL > 0. | |
5293 | ||
7e5b3c26 MG |
5294 | srbds= [X86,INTEL] |
5295 | Control the Special Register Buffer Data Sampling | |
5296 | (SRBDS) mitigation. | |
5297 | ||
5298 | Certain CPUs are vulnerable to an MDS-like | |
5299 | exploit which can leak bits from the random | |
5300 | number generator. | |
5301 | ||
5302 | By default, this issue is mitigated by | |
5303 | microcode. However, the microcode fix can cause | |
5304 | the RDRAND and RDSEED instructions to become | |
5305 | much slower. Among other effects, this will | |
5306 | result in reduced throughput from /dev/urandom. | |
5307 | ||
5308 | The microcode mitigation can be disabled with | |
5309 | the following option: | |
5310 | ||
5311 | off: Disable mitigation and remove | |
5312 | performance impact to RDRAND and RDSEED | |
5313 | ||
c350c008 PM |
5314 | srcutree.counter_wrap_check [KNL] |
5315 | Specifies how frequently to check for | |
5316 | grace-period sequence counter wrap for the | |
5317 | srcu_data structure's ->srcu_gp_seq_needed field. | |
5318 | The greater the number of bits set in this kernel | |
5319 | parameter, the less frequently counter wrap will | |
5320 | be checked for. Note that the bottom two bits | |
5321 | are ignored. | |
5322 | ||
22607d66 PM |
5323 | srcutree.exp_holdoff [KNL] |
5324 | Specifies how many nanoseconds must elapse | |
5325 | since the end of the last SRCU grace period for | |
5326 | a given srcu_struct until the next normal SRCU | |
5327 | grace period will be considered for automatic | |
5328 | expediting. Set to zero to disable automatic | |
5329 | expediting. | |
5330 | ||
a43ae4df MZ |
5331 | ssbd= [ARM64,HW] |
5332 | Speculative Store Bypass Disable control | |
5333 | ||
5334 | On CPUs that are vulnerable to the Speculative | |
5335 | Store Bypass vulnerability and offer a | |
5336 | firmware based mitigation, this parameter | |
5337 | indicates how the mitigation should be used: | |
5338 | ||
5339 | force-on: Unconditionally enable mitigation for | |
5340 | for both kernel and userspace | |
5341 | force-off: Unconditionally disable mitigation for | |
5342 | for both kernel and userspace | |
5343 | kernel: Always enable mitigation in the | |
5344 | kernel, and offer a prctl interface | |
5345 | to allow userspace to register its | |
5346 | interest in being mitigated too. | |
5347 | ||
1be7107f HD |
5348 | stack_guard_gap= [MM] |
5349 | override the default stack gap protection. The value | |
5350 | is in page units and it defines how many pages prior | |
5351 | to (for stacks growing down) resp. after (for stacks | |
5352 | growing up) the main stack are reserved for no other | |
5353 | mapping. Default value is 256 pages. | |
5354 | ||
e1fdc403 VJ |
5355 | stack_depot_disable= [KNL] |
5356 | Setting this to true through kernel command line will | |
5357 | disable the stack depot thereby saving the static memory | |
5358 | consumed by the stack hash table. By default this is set | |
5359 | to false. | |
5360 | ||
f38f1d2a SR |
5361 | stacktrace [FTRACE] |
5362 | Enabled the stack tracer on boot up. | |
5363 | ||
762e1207 SR |
5364 | stacktrace_filter=[function-list] |
5365 | [FTRACE] Limit the functions that the stack tracer | |
25942e5e | 5366 | will trace at boot up. function-list is a comma-separated |
762e1207 SR |
5367 | list of functions. This list can be changed at run |
5368 | time by the stack_trace_filter file in the debugfs | |
5369 | tracing directory. Note, this enables stack tracing | |
5370 | and the stacktrace above is not needed. | |
5371 | ||
1da177e4 LT |
5372 | sti= [PARISC,HW] |
5373 | Format: <num> | |
5374 | Set the STI (builtin display/keyboard on the HP-PARISC | |
5375 | machines) console (graphic card) which should be used | |
5376 | as the initial boot-console. | |
5377 | See also comment in drivers/video/console/sticore.c. | |
5378 | ||
5379 | sti_font= [HW] | |
5380 | See comment in drivers/video/console/sticore.c. | |
5381 | ||
5382 | stifb= [HW] | |
5383 | Format: bpp:<bpp1>[:<bpp2>[:<bpp3>...]] | |
5384 | ||
cbf11071 TM |
5385 | sunrpc.min_resvport= |
5386 | sunrpc.max_resvport= | |
5387 | [NFS,SUNRPC] | |
5388 | SunRPC servers often require that client requests | |
5389 | originate from a privileged port (i.e. a port in the | |
5390 | range 0 < portnr < 1024). | |
5391 | An administrator who wishes to reserve some of these | |
5392 | ports for other uses may adjust the range that the | |
5393 | kernel's sunrpc client considers to be privileged | |
5394 | using these two parameters to set the minimum and | |
5395 | maximum port values. | |
5396 | ||
ff3ac5c3 TM |
5397 | sunrpc.svc_rpc_per_connection_limit= |
5398 | [NFS,SUNRPC] | |
5399 | Limit the number of requests that the server will | |
5400 | process in parallel from a single connection. | |
5401 | The default value is 0 (no limit). | |
5402 | ||
42a7fc4a GB |
5403 | sunrpc.pool_mode= |
5404 | [NFS] | |
5405 | Control how the NFS server code allocates CPUs to | |
5406 | service thread pools. Depending on how many NICs | |
5407 | you have and where their interrupts are bound, this | |
5408 | option will affect which CPUs will do NFS serving. | |
5409 | Note: this parameter cannot be changed while the | |
5410 | NFS server is running. | |
5411 | ||
5412 | auto the server chooses an appropriate mode | |
5413 | automatically using heuristics | |
5414 | global a single global pool contains all CPUs | |
5415 | percpu one pool for each CPU | |
5416 | pernode one pool for each NUMA node (equivalent | |
5417 | to global on non-NUMA machines) | |
5418 | ||
cbf11071 TM |
5419 | sunrpc.tcp_slot_table_entries= |
5420 | sunrpc.udp_slot_table_entries= | |
5421 | [NFS,SUNRPC] | |
5422 | Sets the upper limit on the number of simultaneous | |
5423 | RPC calls that can be sent from the client to a | |
5424 | server. Increasing these values may allow you to | |
5425 | improve throughput, but will also increase the | |
5426 | amount of memory reserved for use by the client. | |
5427 | ||
1d4a9c17 BN |
5428 | suspend.pm_test_delay= |
5429 | [SUSPEND] | |
5430 | Sets the number of seconds to remain in a suspend test | |
5431 | mode before resuming the system (see | |
5432 | /sys/power/pm_test). Only available when CONFIG_PM_DEBUG | |
5433 | is set. Default value is 5. | |
5434 | ||
6a9c930b RP |
5435 | svm= [PPC] |
5436 | Format: { on | off | y | n | 1 | 0 } | |
5437 | This parameter controls use of the Protected | |
5438 | Execution Facility on pSeries. | |
5439 | ||
07555ac1 | 5440 | swapaccount=[0|1] |
a42c390c MH |
5441 | [KNL] Enable accounting of swap in memory resource |
5442 | controller if no parameter or 1 is given or disable | |
da82c92f | 5443 | it if 0 is given (See Documentation/admin-guide/cgroup-v1/memory.rst) |
a42c390c | 5444 | |
91fec0f5 | 5445 | swiotlb= [ARM,IA-64,PPC,MIPS,X86] |
fff5d992 | 5446 | Format: { <int> | force | noforce } |
91fec0f5 JK |
5447 | <int> -- Number of I/O TLB slabs |
5448 | force -- force using of bounce buffers even if they | |
5449 | wouldn't be automatically used by the kernel | |
fff5d992 | 5450 | noforce -- Never use bounce buffers (for debugging) |
a9913044 | 5451 | |
1da177e4 LT |
5452 | switches= [HW,M68k] |
5453 | ||
3db978d4 VB |
5454 | sysctl.*= [KNL] |
5455 | Set a sysctl parameter, right before loading the init | |
5456 | process, as if the value was written to the respective | |
5457 | /proc/sys/... file. Both '.' and '/' are recognized as | |
5458 | separators. Unrecognized parameters and invalid values | |
5459 | are reported in the kernel log. Sysctls registered | |
5460 | later by a loaded module cannot be set this way. | |
5461 | Example: sysctl.vm.swappiness=40 | |
5462 | ||
e52eec13 AK |
5463 | sysfs.deprecated=0|1 [KNL] |
5464 | Enable/disable old style sysfs layout for old udev | |
5465 | on older distributions. When this option is enabled | |
5466 | very new udev will not work anymore. When this option | |
5467 | is disabled (or CONFIG_SYSFS_DEPRECATED not compiled) | |
5468 | in older udev will not work anymore. | |
5469 | Default depends on CONFIG_SYSFS_DEPRECATED_V2 set in | |
5470 | the kernel configuration. | |
5471 | ||
5d6f647f IM |
5472 | sysrq_always_enabled |
5473 | [KNL] | |
5474 | Ignore sysrq setting - this boot parameter will | |
5475 | neutralize any effect of /proc/sys/kernel/sysrq. | |
5476 | Useful for debugging. | |
5477 | ||
747029a5 FF |
5478 | tcpmhash_entries= [KNL,NET] |
5479 | Set the number of tcp_metrics_hash slots. | |
5480 | Default value is 8192 or 16384 depending on total | |
5481 | ram pages. This is used to specify the TCP metrics | |
1cec2cac | 5482 | cache size. See Documentation/networking/ip-sysctl.rst |
747029a5 FF |
5483 | "tcp_no_metrics_save" section for more details. |
5484 | ||
1da177e4 LT |
5485 | tdfx= [HW,DRM] |
5486 | ||
acc82342 | 5487 | test_suspend= [SUSPEND][,N] |
77437fd4 | 5488 | Specify "mem" (for Suspend-to-RAM) or "standby" (for |
acc82342 SP |
5489 | standby suspend) or "freeze" (for suspend type freeze) |
5490 | as the system sleep state during system startup with | |
5491 | the optional capability to repeat N number of times. | |
5492 | The system is woken from this state using a | |
5493 | wakeup-capable RTC alarm. | |
77437fd4 | 5494 | |
1da177e4 LT |
5495 | thash_entries= [KNL,NET] |
5496 | Set number of hash buckets for TCP connection | |
5497 | ||
f8707ec9 LB |
5498 | thermal.act= [HW,ACPI] |
5499 | -1: disable all active trip points in all thermal zones | |
5500 | <degrees C>: override all lowest active trip points | |
5501 | ||
c52a7419 LB |
5502 | thermal.crt= [HW,ACPI] |
5503 | -1: disable all critical trip points in all thermal zones | |
22a94d79 | 5504 | <degrees C>: override all critical trip points |
c52a7419 | 5505 | |
f5487145 LB |
5506 | thermal.nocrt= [HW,ACPI] |
5507 | Set to disable actions on ACPI thermal zone | |
5508 | critical and hot trip points. | |
5509 | ||
72b33ef8 LB |
5510 | thermal.off= [HW,ACPI] |
5511 | 1: disable ACPI thermal control | |
5512 | ||
a70cdc52 LB |
5513 | thermal.psv= [HW,ACPI] |
5514 | -1: disable all passive trip points | |
ada9cfdd RD |
5515 | <degrees C>: override all passive trip points to this |
5516 | value | |
a70cdc52 | 5517 | |
730ff34d LB |
5518 | thermal.tzp= [HW,ACPI] |
5519 | Specify global default ACPI thermal zone polling rate | |
5520 | <deci-seconds>: poll all this frequency | |
5521 | 0: no polling (default) | |
5522 | ||
8d32a307 TG |
5523 | threadirqs [KNL] |
5524 | Force threading of all interrupt handlers except those | |
24775d65 | 5525 | marked explicitly IRQF_NO_THREAD. |
8d32a307 | 5526 | |
2b1a61f0 HC |
5527 | topology= [S390] |
5528 | Format: {off | on} | |
5529 | Specify if the kernel should make use of the cpu | |
f65e51d7 SL |
5530 | topology information if the hardware supports this. |
5531 | The scheduler will make use of this information and | |
2b1a61f0 | 5532 | e.g. base its process migration decisions on it. |
c9af3fa9 | 5533 | Default is on. |
2b1a61f0 | 5534 | |
2d73bae1 NA |
5535 | topology_updates= [KNL, PPC, NUMA] |
5536 | Format: {off} | |
5537 | Specify if the kernel should ignore (off) | |
5538 | topology updates sent by the hypervisor to this | |
5539 | LPAR. | |
5540 | ||
8171d3e0 PM |
5541 | torture.disable_onoff_at_boot= [KNL] |
5542 | Prevent the CPU-hotplug component of torturing | |
5543 | until after init has spawned. | |
5544 | ||
2102ad29 PM |
5545 | torture.ftrace_dump_at_shutdown= [KNL] |
5546 | Dump the ftrace buffer at torture-test shutdown, | |
5547 | even if there were no errors. This can be a | |
5548 | very costly operation when many torture tests | |
5549 | are running concurrently, especially on systems | |
5550 | with rotating-rust storage. | |
5551 | ||
8a67a20b PM |
5552 | torture.verbose_sleep_frequency= [KNL] |
5553 | Specifies how many verbose printk()s should be | |
5554 | emitted between each sleep. The default of zero | |
5555 | disables verbose-printk() sleeping. | |
5556 | ||
5557 | torture.verbose_sleep_duration= [KNL] | |
5558 | Duration of each verbose-printk() sleep in jiffies. | |
5559 | ||
1da177e4 LT |
5560 | tp720= [HW,PS2] |
5561 | ||
225a9be2 RA |
5562 | tpm_suspend_pcr=[HW,TPM] |
5563 | Format: integer pcr id | |
5564 | Specify that at suspend time, the tpm driver | |
5565 | should extend the specified pcr with zeros, | |
5566 | as a workaround for some chips which fail to | |
5567 | flush the last written pcr on TPM_SaveState. | |
5568 | This will guarantee that all the other pcrs | |
5569 | are saved. | |
5570 | ||
9d612bef | 5571 | trace_buf_size=nn[KMG] |
3e6fb8e9 | 5572 | [FTRACE] will set tracing buffer size on each cpu. |
631595fb | 5573 | |
020e5f85 LZ |
5574 | trace_event=[event-list] |
5575 | [FTRACE] Set and start specified trace events in order | |
d81749ea | 5576 | to facilitate early boot debugging. The event-list is a |
25942e5e | 5577 | comma-separated list of trace events to enable. See |
5fb94e9c | 5578 | also Documentation/trace/events.rst |
020e5f85 | 5579 | |
7bcfaf54 SR |
5580 | trace_options=[option-list] |
5581 | [FTRACE] Enable or disable tracer options at boot. | |
5582 | The option-list is a comma delimited list of options | |
5583 | that can be enabled or disabled just as if you were | |
5584 | to echo the option name into | |
5585 | ||
5586 | /sys/kernel/debug/tracing/trace_options | |
5587 | ||
5588 | For example, to enable stacktrace option (to dump the | |
5589 | stack trace of each event), add to the command line: | |
5590 | ||
5591 | trace_options=stacktrace | |
5592 | ||
5fb94e9c | 5593 | See also Documentation/trace/ftrace.rst "trace options" |
7bcfaf54 SR |
5594 | section. |
5595 | ||
0daa2302 SRRH |
5596 | tp_printk[FTRACE] |
5597 | Have the tracepoints sent to printk as well as the | |
5598 | tracing ring buffer. This is useful for early boot up | |
5599 | where the system hangs or reboots and does not give the | |
5600 | option for reading the tracing buffer or performing a | |
5601 | ftrace_dump_on_oops. | |
5602 | ||
5603 | To turn off having tracepoints sent to printk, | |
5604 | echo 0 > /proc/sys/kernel/tracepoint_printk | |
5605 | Note, echoing 1 into this file without the | |
5606 | tracepoint_printk kernel cmdline option has no effect. | |
5607 | ||
5608 | ** CAUTION ** | |
5609 | ||
5610 | Having tracepoints sent to printk() and activating high | |
5611 | frequency tracepoints such as irq or sched, can cause | |
5612 | the system to live lock. | |
5613 | ||
de7edd31 SRRH |
5614 | traceoff_on_warning |
5615 | [FTRACE] enable this option to disable tracing when a | |
5616 | warning is hit. This turns off "tracing_on". Tracing can | |
5617 | be enabled again by echoing '1' into the "tracing_on" | |
5618 | file located in /sys/kernel/debug/tracing/ | |
5619 | ||
5620 | This option is useful, as it disables the trace before | |
5621 | the WARNING dump is called, which prevents the trace to | |
5622 | be filled with content caused by the warning output. | |
5623 | ||
5624 | This option can also be set at run time via the sysctl | |
5625 | option: kernel/traceoff_on_warning | |
5626 | ||
fcf4d821 JK |
5627 | transparent_hugepage= |
5628 | [KNL] | |
5629 | Format: [always|madvise|never] | |
5630 | Can be used to control the default behavior of the system | |
5631 | with respect to transparent hugepages. | |
45c9a74f MR |
5632 | See Documentation/admin-guide/mm/transhuge.rst |
5633 | for more details. | |
fcf4d821 | 5634 | |
5d0682be SG |
5635 | trusted.source= [KEYS] |
5636 | Format: <string> | |
5637 | This parameter identifies the trust source as a backend | |
5638 | for trusted keys implementation. Supported trust | |
5639 | sources: | |
5640 | - "tpm" | |
5641 | - "tee" | |
5642 | If not specified then it defaults to iterating through | |
5643 | the trust source list starting with TPM and assigns the | |
5644 | first trust source as a backend which is initialized | |
5645 | successfully during iteration. | |
5646 | ||
d3b8f889 | 5647 | tsc= Disable clocksource stability checks for TSC. |
395628ef AK |
5648 | Format: <string> |
5649 | [x86] reliable: mark tsc clocksource as reliable, this | |
d3b8f889 | 5650 | disables clocksource verification at runtime, as well |
5651 | as the stability checks done at bootup. Used to enable | |
5652 | high-resolution timer mode on older hardware, and in | |
5653 | virtualized environment. | |
e82b8e4e VP |
5654 | [x86] noirqtime: Do not use TSC to do irq accounting. |
5655 | Used to run time disable IRQ_TIME_ACCOUNTING on any | |
5656 | platforms where RDTSC is slow and this accounting | |
5657 | can add overhead. | |
6be53520 DL |
5658 | [x86] unstable: mark the TSC clocksource as unstable, this |
5659 | marks the TSC unconditionally unstable at bootup and | |
5660 | avoids any further wobbles once the TSC watchdog notices. | |
0f0b7e1c JL |
5661 | [x86] nowatchdog: disable clocksource watchdog. Used |
5662 | in situations with strict latency requirements (where | |
5663 | interruptions from clocksource watchdog are not | |
5664 | acceptable). | |
395628ef | 5665 | |
bd35c77e KP |
5666 | tsc_early_khz= [X86] Skip early TSC calibration and use the given |
5667 | value instead. Useful when the early TSC frequency discovery | |
5668 | procedure is not reliable, such as on overclocked systems | |
5669 | with CPUID.16h support and partial CPUID.15h support. | |
5670 | Format: <unsigned int> | |
5671 | ||
95c5824f PG |
5672 | tsx= [X86] Control Transactional Synchronization |
5673 | Extensions (TSX) feature in Intel processors that | |
5674 | support TSX control. | |
5675 | ||
5676 | This parameter controls the TSX feature. The options are: | |
5677 | ||
5678 | on - Enable TSX on the system. Although there are | |
5679 | mitigations for all known security vulnerabilities, | |
5680 | TSX has been known to be an accelerator for | |
5681 | several previous speculation-related CVEs, and | |
5682 | so there may be unknown security risks associated | |
5683 | with leaving it enabled. | |
5684 | ||
5685 | off - Disable TSX on the system. (Note that this | |
5686 | option takes effect only on newer CPUs which are | |
5687 | not vulnerable to MDS, i.e., have | |
5688 | MSR_IA32_ARCH_CAPABILITIES.MDS_NO=1 and which get | |
5689 | the new IA32_TSX_CTRL MSR through a microcode | |
5690 | update. This new MSR allows for the reliable | |
5691 | deactivation of the TSX functionality.) | |
5692 | ||
7531a359 PG |
5693 | auto - Disable TSX if X86_BUG_TAA is present, |
5694 | otherwise enable TSX on the system. | |
5695 | ||
95c5824f PG |
5696 | Not specifying this option is equivalent to tsx=off. |
5697 | ||
5698 | See Documentation/admin-guide/hw-vuln/tsx_async_abort.rst | |
5699 | for more details. | |
5700 | ||
a7a248c5 PG |
5701 | tsx_async_abort= [X86,INTEL] Control mitigation for the TSX Async |
5702 | Abort (TAA) vulnerability. | |
5703 | ||
5704 | Similar to Micro-architectural Data Sampling (MDS) | |
5705 | certain CPUs that support Transactional | |
5706 | Synchronization Extensions (TSX) are vulnerable to an | |
5707 | exploit against CPU internal buffers which can forward | |
5708 | information to a disclosure gadget under certain | |
5709 | conditions. | |
5710 | ||
5711 | In vulnerable processors, the speculatively forwarded | |
5712 | data can be used in a cache side channel attack, to | |
5713 | access data to which the attacker does not have direct | |
5714 | access. | |
5715 | ||
5716 | This parameter controls the TAA mitigation. The | |
5717 | options are: | |
5718 | ||
5719 | full - Enable TAA mitigation on vulnerable CPUs | |
5720 | if TSX is enabled. | |
5721 | ||
5722 | full,nosmt - Enable TAA mitigation and disable SMT on | |
5723 | vulnerable CPUs. If TSX is disabled, SMT | |
5724 | is not disabled because CPU is not | |
5725 | vulnerable to cross-thread TAA attacks. | |
5726 | off - Unconditionally disable TAA mitigation | |
5727 | ||
64870ed1 WL |
5728 | On MDS-affected machines, tsx_async_abort=off can be |
5729 | prevented by an active MDS mitigation as both vulnerabilities | |
5730 | are mitigated with the same mechanism so in order to disable | |
5731 | this mitigation, you need to specify mds=off too. | |
5732 | ||
a7a248c5 PG |
5733 | Not specifying this option is equivalent to |
5734 | tsx_async_abort=full. On CPUs which are MDS affected | |
5735 | and deploy MDS mitigation, TAA mitigation is not | |
5736 | required and doesn't provide any additional | |
5737 | mitigation. | |
5738 | ||
5739 | For details see: | |
5740 | Documentation/admin-guide/hw-vuln/tsx_async_abort.rst | |
5741 | ||
a9913044 RD |
5742 | turbografx.map[2|3]= [HW,JOY] |
5743 | TurboGraFX parallel port interface | |
5744 | Format: | |
5745 | <port#>,<js1>,<js2>,<js3>,<js4>,<js5>,<js6>,<js7> | |
1752118d | 5746 | See also Documentation/input/devices/joystick-parport.rst |
1da177e4 | 5747 | |
b6935f8c | 5748 | udbg-immortal [PPC] When debugging early kernel crashes that |
e52347bd | 5749 | happen after console_init() and before a proper |
b6935f8c CK |
5750 | console driver takes over, this boot options might |
5751 | help "seeing" what's going on. | |
5752 | ||
f86dcc5a ED |
5753 | uhash_entries= [KNL,NET] |
5754 | Set number of hash buckets for UDP/UDP-Lite connections | |
5755 | ||
5f8364b7 AS |
5756 | uhci-hcd.ignore_oc= |
5757 | [USB] Ignore overcurrent events (default N). | |
5758 | Some badly-designed motherboards generate lots of | |
5759 | bogus events, for ports that aren't wired to | |
5760 | anything. Set this parameter to avoid log spamming. | |
5761 | Note that genuine overcurrent events won't be | |
5762 | reported either. | |
5763 | ||
e3a61b0a | 5764 | unknown_nmi_panic |
44a4dcf7 | 5765 | [X86] Cause panic on unknown NMI. |
e3a61b0a | 5766 | |
c4fc2342 CDH |
5767 | usbcore.authorized_default= |
5768 | [USB] Default USB device authorization: | |
5769 | (default -1 = authorized except for wireless USB, | |
7bae0432 DT |
5770 | 0 = not authorized, 1 = authorized, 2 = authorized |
5771 | if device connected to internal port) | |
c4fc2342 | 5772 | |
b5e795f8 AS |
5773 | usbcore.autosuspend= |
5774 | [USB] The autosuspend time delay (in seconds) used | |
5775 | for newly-detected USB devices (default 2). This | |
5776 | is the time required before an idle device will be | |
5777 | autosuspended. Devices for which the delay is set | |
eaafbc3a | 5778 | to a negative value won't be autosuspended at all. |
b5e795f8 | 5779 | |
fd7c519d JK |
5780 | usbcore.usbfs_snoop= |
5781 | [USB] Set to log all usbfs traffic (default 0 = off). | |
5782 | ||
0290cc9f AS |
5783 | usbcore.usbfs_snoop_max= |
5784 | [USB] Maximum number of bytes to snoop in each URB | |
5785 | (default = 65536). | |
5786 | ||
fd7c519d JK |
5787 | usbcore.blinkenlights= |
5788 | [USB] Set to cycle leds on hubs (default 0 = off). | |
5789 | ||
5790 | usbcore.old_scheme_first= | |
5791 | [USB] Start with the old device initialization | |
3155f4f4 | 5792 | scheme (default 0 = off). |
fd7c519d | 5793 | |
3f5eb8d5 AS |
5794 | usbcore.usbfs_memory_mb= |
5795 | [USB] Memory limit (in MB) for buffers allocated by | |
5796 | usbfs (default = 16, 0 = max = 2047). | |
5797 | ||
fd7c519d JK |
5798 | usbcore.use_both_schemes= |
5799 | [USB] Try the other device initialization scheme | |
5800 | if the first one fails (default 1 = enabled). | |
5801 | ||
5802 | usbcore.initial_descriptor_timeout= | |
5803 | [USB] Specifies timeout for the initial 64-byte | |
6dddd7a7 | 5804 | USB_REQ_GET_DESCRIPTOR request in milliseconds |
fd7c519d JK |
5805 | (default 5000 = 5.0 seconds). |
5806 | ||
40d58148 ON |
5807 | usbcore.nousb [USB] Disable the USB subsystem |
5808 | ||
027bd6ca KHF |
5809 | usbcore.quirks= |
5810 | [USB] A list of quirk entries to augment the built-in | |
5811 | usb core quirk list. List entries are separated by | |
5812 | commas. Each entry has the form | |
5813 | VendorID:ProductID:Flags. The IDs are 4-digit hex | |
5814 | numbers and Flags is a set of letters. Each letter | |
5815 | will change the built-in quirk; setting it if it is | |
5816 | clear and clearing it if it is set. The letters have | |
5817 | the following meanings: | |
5818 | a = USB_QUIRK_STRING_FETCH_255 (string | |
5819 | descriptors must not be fetched using | |
5820 | a 255-byte read); | |
5821 | b = USB_QUIRK_RESET_RESUME (device can't resume | |
5822 | correctly so reset it instead); | |
5823 | c = USB_QUIRK_NO_SET_INTF (device can't handle | |
5824 | Set-Interface requests); | |
5825 | d = USB_QUIRK_CONFIG_INTF_STRINGS (device can't | |
5826 | handle its Configuration or Interface | |
5827 | strings); | |
5828 | e = USB_QUIRK_RESET (device can't be reset | |
5829 | (e.g morph devices), don't use reset); | |
5830 | f = USB_QUIRK_HONOR_BNUMINTERFACES (device has | |
5831 | more interface descriptions than the | |
5832 | bNumInterfaces count, and can't handle | |
5833 | talking to these interfaces); | |
5834 | g = USB_QUIRK_DELAY_INIT (device needs a pause | |
5835 | during initialization, after we read | |
5836 | the device descriptor); | |
5837 | h = USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL (For | |
5838 | high speed and super speed interrupt | |
5839 | endpoints, the USB 2.0 and USB 3.0 spec | |
5840 | require the interval in microframes (1 | |
5841 | microframe = 125 microseconds) to be | |
5842 | calculated as interval = 2 ^ | |
5843 | (bInterval-1). | |
5844 | Devices with this quirk report their | |
5845 | bInterval as the result of this | |
5846 | calculation instead of the exponent | |
5847 | variable used in the calculation); | |
5848 | i = USB_QUIRK_DEVICE_QUALIFIER (device can't | |
5849 | handle device_qualifier descriptor | |
5850 | requests); | |
5851 | j = USB_QUIRK_IGNORE_REMOTE_WAKEUP (device | |
5852 | generates spurious wakeup, ignore | |
5853 | remote wakeup capability); | |
5854 | k = USB_QUIRK_NO_LPM (device can't handle Link | |
5855 | Power Management); | |
5856 | l = USB_QUIRK_LINEAR_FRAME_INTR_BINTERVAL | |
5857 | (Device reports its bInterval as linear | |
5858 | frames instead of the USB 2.0 | |
5859 | calculation); | |
5860 | m = USB_QUIRK_DISCONNECT_SUSPEND (Device needs | |
5861 | to be disconnected before suspend to | |
4d8d5a39 KHF |
5862 | prevent spurious wakeup); |
5863 | n = USB_QUIRK_DELAY_CTRL_MSG (Device needs a | |
5864 | pause after every control message); | |
781f0766 KHF |
5865 | o = USB_QUIRK_HUB_SLOW_RESET (Hub needs extra |
5866 | delay after resetting its port); | |
027bd6ca KHF |
5867 | Example: quirks=0781:5580:bk,0a5c:5834:gij |
5868 | ||
1da177e4 LT |
5869 | usbhid.mousepoll= |
5870 | [USBHID] The interval which mice are to be polled at. | |
a9913044 | 5871 | |
933bfe4d TJ |
5872 | usbhid.jspoll= |
5873 | [USBHID] The interval which joysticks are to be polled at. | |
5874 | ||
2ddc8e2d FA |
5875 | usbhid.kbpoll= |
5876 | [USBHID] The interval which keyboards are to be polled at. | |
5877 | ||
d4f373e5 AS |
5878 | usb-storage.delay_use= |
5879 | [UMS] The delay in seconds before a new device is | |
19101954 | 5880 | scanned for Logical Units (default 1). |
d4f373e5 AS |
5881 | |
5882 | usb-storage.quirks= | |
5883 | [UMS] A list of quirks entries to supplement or | |
5884 | override the built-in unusual_devs list. List | |
5885 | entries are separated by commas. Each entry has | |
5886 | the form VID:PID:Flags where VID and PID are Vendor | |
5887 | and Product ID values (4-digit hex numbers) and | |
5888 | Flags is a set of characters, each corresponding | |
5889 | to a common usb-storage quirk flag as follows: | |
c838ea46 | 5890 | a = SANE_SENSE (collect more than 18 bytes |
65cc8bf9 | 5891 | of sense data, not on uas); |
a0bb1081 | 5892 | b = BAD_SENSE (don't collect more than 18 |
65cc8bf9 | 5893 | bytes of sense data, not on uas); |
d4f373e5 AS |
5894 | c = FIX_CAPACITY (decrease the reported |
5895 | device capacity by one sector); | |
5116901d | 5896 | d = NO_READ_DISC_INFO (don't use |
65cc8bf9 | 5897 | READ_DISC_INFO command, not on uas); |
5116901d KR |
5898 | e = NO_READ_CAPACITY_16 (don't use |
5899 | READ_CAPACITY_16 command); | |
734016b0 HG |
5900 | f = NO_REPORT_OPCODES (don't use report opcodes |
5901 | command, uas only); | |
ee136af4 HG |
5902 | g = MAX_SECTORS_240 (don't transfer more than |
5903 | 240 sectors at a time, uas only); | |
c838ea46 AS |
5904 | h = CAPACITY_HEURISTICS (decrease the |
5905 | reported device capacity by one | |
5906 | sector if the number is odd); | |
d4f373e5 AS |
5907 | i = IGNORE_DEVICE (don't bind to this |
5908 | device); | |
13630746 HG |
5909 | j = NO_REPORT_LUNS (don't use report luns |
5910 | command, uas only); | |
8010622c | 5911 | k = NO_SAME (do not use WRITE_SAME, uas only) |
d4f373e5 | 5912 | l = NOT_LOCKABLE (don't try to lock and |
65cc8bf9 | 5913 | unlock ejectable media, not on uas); |
d4f373e5 | 5914 | m = MAX_SECTORS_64 (don't transfer more |
65cc8bf9 ON |
5915 | than 64 sectors = 32 KB at a time, |
5916 | not on uas); | |
21c13a4f | 5917 | n = INITIAL_READ10 (force a retry of the |
65cc8bf9 | 5918 | initial READ(10) command, not on uas); |
c838ea46 | 5919 | o = CAPACITY_OK (accept the capacity |
65cc8bf9 | 5920 | reported by the device, not on uas); |
eaa05dfc | 5921 | p = WRITE_CACHE (the device cache is ON |
65cc8bf9 | 5922 | by default, not on uas); |
d4f373e5 | 5923 | r = IGNORE_RESIDUE (the device reports |
65cc8bf9 | 5924 | bogus residue values, not on uas); |
d4f373e5 AS |
5925 | s = SINGLE_LUN (the device has only one |
5926 | Logical Unit); | |
59307852 HG |
5927 | t = NO_ATA_1X (don't allow ATA(12) and ATA(16) |
5928 | commands, uas only); | |
b6089f19 | 5929 | u = IGNORE_UAS (don't bind to the uas driver); |
d4f373e5 AS |
5930 | w = NO_WP_DETECT (don't test whether the |
5931 | medium is write-protected). | |
050bc4e8 | 5932 | y = ALWAYS_SYNC (issue a SYNCHRONIZE_CACHE |
65cc8bf9 ON |
5933 | even if the device claims no cache, |
5934 | not on uas) | |
d4f373e5 AS |
5935 | Example: quirks=0419:aaf5:rl,0421:0433:rc |
5936 | ||
ac1667db SB |
5937 | user_debug= [KNL,ARM] |
5938 | Format: <int> | |
5939 | See arch/arm/Kconfig.debug help text. | |
5940 | 1 - undefined instruction events | |
5941 | 2 - system calls | |
5942 | 4 - invalid data aborts | |
5943 | 8 - SIGSEGV faults | |
5944 | 16 - SIGBUS faults | |
5945 | Example: user_debug=31 | |
5946 | ||
14315592 IC |
5947 | userpte= |
5948 | [X86] Flags controlling user PTE allocations. | |
5949 | ||
5950 | nohigh = do not allocate PTE pages in | |
5951 | HIGHMEM regardless of setting | |
5952 | of CONFIG_HIGHPTE. | |
5953 | ||
6cececfc | 5954 | vdso= [X86,SH] |
b0b49f26 AL |
5955 | On X86_32, this is an alias for vdso32=. Otherwise: |
5956 | ||
5957 | vdso=1: enable VDSO (the default) | |
e6e5494c IM |
5958 | vdso=0: disable VDSO mapping |
5959 | ||
b0b49f26 AL |
5960 | vdso32= [X86] Control the 32-bit vDSO |
5961 | vdso32=1: enable 32-bit VDSO | |
5962 | vdso32=0 or vdso32=2: disable 32-bit VDSO | |
5963 | ||
5964 | See the help text for CONFIG_COMPAT_VDSO for more | |
5965 | details. If CONFIG_COMPAT_VDSO is set, the default is | |
5966 | vdso32=0; otherwise, the default is vdso32=1. | |
5967 | ||
5968 | For compatibility with older kernels, vdso32=2 is an | |
5969 | alias for vdso32=0. | |
5970 | ||
5971 | Try vdso32=0 if you encounter an error that says: | |
5972 | dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed! | |
af65d648 | 5973 | |
d080d397 YI |
5974 | vector= [IA-64,SMP] |
5975 | vector=percpu: enable percpu vector domain | |
5976 | ||
1da177e4 | 5977 | video= [FB] Frame buffer configuration |
ab42b818 | 5978 | See Documentation/fb/modedb.rst. |
1da177e4 | 5979 | |
3afe6dab AL |
5980 | video.brightness_switch_enabled= [0,1] |
5981 | If set to 1, on receiving an ACPI notify event | |
5982 | generated by hotkey, video driver will adjust brightness | |
5983 | level and then send out the event to user space through | |
5984 | the allocated input device; If set to 0, video driver | |
5985 | will only send out the event without touching backlight | |
5986 | brightness level. | |
2843768b | 5987 | default: 1 |
3afe6dab | 5988 | |
81a054ce PM |
5989 | virtio_mmio.device= |
5990 | [VMMIO] Memory mapped virtio (platform) device. | |
5991 | ||
5992 | <size>@<baseaddr>:<irq>[:<id>] | |
5993 | where: | |
5994 | <size> := size (can use standard suffixes | |
5995 | like K, M and G) | |
5996 | <baseaddr> := physical base address | |
5997 | <irq> := interrupt number (as passed to | |
5998 | request_irq()) | |
5999 | <id> := (optional) platform device id | |
6000 | example: | |
6001 | virtio_mmio.device=1K@0x100b0000:48:7 | |
6002 | ||
6003 | Can be used multiple times for multiple devices. | |
6004 | ||
cd4f0ef7 | 6005 | vga= [BOOT,X86-32] Select a particular video mode |
cb1aaebe | 6006 | See Documentation/x86/boot.rst and |
4f4cfa6c | 6007 | Documentation/admin-guide/svga.rst. |
1da177e4 LT |
6008 | Use vga=ask for menu. |
6009 | This is actually a boot loader parameter; the value is | |
6010 | passed to the kernel using a special protocol. | |
6011 | ||
f682a97a AD |
6012 | vm_debug[=options] [KNL] Available with CONFIG_DEBUG_VM=y. |
6013 | May slow down system boot speed, especially when | |
6014 | enabled on systems with a large amount of memory. | |
6015 | All options are enabled by default, and this | |
6016 | interface is meant to allow for selectively | |
6017 | enabling or disabling specific virtual memory | |
6018 | debugging features. | |
6019 | ||
6020 | Available options are: | |
6021 | P Enable page structure init time poisoning | |
6022 | - Disable all of the above options | |
6023 | ||
a9913044 | 6024 | vmalloc=nn[KMG] [KNL,BOOT] Forces the vmalloc area to have an exact |
1da177e4 LT |
6025 | size of <nn>. This can be used to increase the |
6026 | minimum size (128MB on x86). It can also be used to | |
6027 | decrease the size and leave more room for directly | |
6028 | mapped kernel RAM. | |
6029 | ||
3f429842 HC |
6030 | vmcp_cma=nn[MG] [KNL,S390] |
6031 | Sets the memory size reserved for contiguous memory | |
6032 | allocations for the vmcp device driver. | |
6033 | ||
585c3047 PO |
6034 | vmhalt= [KNL,S390] Perform z/VM CP command after system halt. |
6035 | Format: <command> | |
1da177e4 | 6036 | |
585c3047 PO |
6037 | vmpanic= [KNL,S390] Perform z/VM CP command after kernel panic. |
6038 | Format: <command> | |
6039 | ||
6040 | vmpoff= [KNL,S390] Perform z/VM CP command after power off. | |
6041 | Format: <command> | |
a9913044 | 6042 | |
3ae36655 AL |
6043 | vsyscall= [X86-64] |
6044 | Controls the behavior of vsyscalls (i.e. calls to | |
6045 | fixed addresses of 0xffffffffff600x00 from legacy | |
6046 | code). Most statically-linked binaries and older | |
6047 | versions of glibc use these calls. Because these | |
6048 | functions are at fixed addresses, they make nice | |
6049 | targets for exploits that can control RIP. | |
6050 | ||
2e57ae05 | 6051 | emulate [default] Vsyscalls turn into traps and are |
bd49e16e AL |
6052 | emulated reasonably safely. The vsyscall |
6053 | page is readable. | |
3ae36655 | 6054 | |
bd49e16e AL |
6055 | xonly Vsyscalls turn into traps and are |
6056 | emulated reasonably safely. The vsyscall | |
6057 | page is not readable. | |
3ae36655 AL |
6058 | |
6059 | none Vsyscalls don't work at all. This makes | |
6060 | them quite hard to use for exploits but | |
6061 | might break your system. | |
6062 | ||
3855ae1c CL |
6063 | vt.color= [VT] Default text color. |
6064 | Format: 0xYX, X = foreground, Y = background. | |
6065 | Default: 0x07 = light gray on black. | |
6066 | ||
9ea9a886 CL |
6067 | vt.cur_default= [VT] Default cursor shape. |
6068 | Format: 0xCCBBAA, where AA, BB, and CC are the same as | |
6069 | the parameters of the <Esc>[?A;B;Cc escape sequence; | |
6070 | see VGA-softcursor.txt. Default: 2 = underline. | |
6071 | ||
0cb55ad2 RD |
6072 | vt.default_blu= [VT] |
6073 | Format: <blue0>,<blue1>,<blue2>,...,<blue15> | |
6074 | Change the default blue palette of the console. | |
6075 | This is a 16-member array composed of values | |
6076 | ranging from 0-255. | |
6077 | ||
6078 | vt.default_grn= [VT] | |
6079 | Format: <green0>,<green1>,<green2>,...,<green15> | |
6080 | Change the default green palette of the console. | |
6081 | This is a 16-member array composed of values | |
6082 | ranging from 0-255. | |
6083 | ||
6084 | vt.default_red= [VT] | |
6085 | Format: <red0>,<red1>,<red2>,...,<red15> | |
6086 | Change the default red palette of the console. | |
6087 | This is a 16-member array composed of values | |
6088 | ranging from 0-255. | |
6089 | ||
6090 | vt.default_utf8= | |
6091 | [VT] | |
6092 | Format=<0|1> | |
6093 | Set system-wide default UTF-8 mode for all tty's. | |
6094 | Default is 1, i.e. UTF-8 mode is enabled for all | |
6095 | newly opened terminals. | |
6096 | ||
f6c06b68 MG |
6097 | vt.global_cursor_default= |
6098 | [VT] | |
6099 | Format=<-1|0|1> | |
6100 | Set system-wide default for whether a cursor | |
6101 | is shown on new VTs. Default is -1, | |
6102 | i.e. cursors will be created by default unless | |
6103 | overridden by individual drivers. 0 will hide | |
6104 | cursors, 1 will display them. | |
6105 | ||
3855ae1c CL |
6106 | vt.italic= [VT] Default color for italic text; 0-15. |
6107 | Default: 2 = green. | |
6108 | ||
6109 | vt.underline= [VT] Default color for underlined text; 0-15. | |
6110 | Default: 3 = cyan. | |
6111 | ||
4724ba57 | 6112 | watchdog timers [HW,WDT] For information on watchdog timers, |
cc2a2d19 | 6113 | see Documentation/watchdog/watchdog-parameters.rst |
4724ba57 RD |
6114 | or other driver-specific files in the |
6115 | Documentation/watchdog/ directory. | |
1da177e4 | 6116 | |
11295055 LO |
6117 | watchdog_thresh= |
6118 | [KNL] | |
6119 | Set the hard lockup detector stall duration | |
6120 | threshold in seconds. The soft lockup detector | |
6121 | threshold is set to twice the value. A value of 0 | |
6122 | disables both lockup detectors. Default is 10 | |
6123 | seconds. | |
6124 | ||
82607adc TH |
6125 | workqueue.watchdog_thresh= |
6126 | If CONFIG_WQ_WATCHDOG is configured, workqueue can | |
6127 | warn stall conditions and dump internal state to | |
6128 | help debugging. 0 disables workqueue stall | |
6129 | detection; otherwise, it's the stall threshold | |
6130 | duration in seconds. The default value is 30 and | |
6131 | it can be updated at runtime by writing to the | |
6132 | corresponding sysfs file. | |
6133 | ||
d55262c4 TH |
6134 | workqueue.disable_numa |
6135 | By default, all work items queued to unbound | |
6136 | workqueues are affine to the NUMA nodes they're | |
6137 | issued on, which results in better behavior in | |
6138 | general. If NUMA affinity needs to be disabled for | |
6139 | whatever reason, this option can be used. Note | |
6140 | that this also can be controlled per-workqueue for | |
6141 | workqueues visible under /sys/bus/workqueue/. | |
6142 | ||
cee22a15 VK |
6143 | workqueue.power_efficient |
6144 | Per-cpu workqueues are generally preferred because | |
6145 | they show better performance thanks to cache | |
6146 | locality; unfortunately, per-cpu workqueues tend to | |
6147 | be more power hungry than unbound workqueues. | |
6148 | ||
6149 | Enabling this makes the per-cpu workqueues which | |
6150 | were observed to contribute significantly to power | |
6151 | consumption unbound, leading to measurably lower | |
6152 | power usage at the cost of small performance | |
6153 | overhead. | |
6154 | ||
6155 | The default value of this parameter is determined by | |
6156 | the config option CONFIG_WQ_POWER_EFFICIENT_DEFAULT. | |
6157 | ||
f303fccb TH |
6158 | workqueue.debug_force_rr_cpu |
6159 | Workqueue used to implicitly guarantee that work | |
6160 | items queued without explicit CPU specified are put | |
6161 | on the local CPU. This guarantee is no longer true | |
6162 | and while local CPU is still preferred work items | |
6163 | may be put on foreign CPUs. This debug option | |
6164 | forces round-robin CPU selection to flush out | |
6165 | usages which depend on the now broken guarantee. | |
6166 | When enabled, memory and cache locality will be | |
6167 | impacted. | |
6168 | ||
0cb55ad2 RD |
6169 | x2apic_phys [X86-64,APIC] Use x2apic physical mode instead of |
6170 | default x2apic cluster mode on platforms | |
6171 | supporting x2apic. | |
6172 | ||
c70727a5 JG |
6173 | xen_512gb_limit [KNL,X86-64,XEN] |
6174 | Restricts the kernel running paravirtualized under Xen | |
6175 | to use only up to 512 GB of RAM. The reason to do so is | |
6176 | crash analysis tools and Xen tools for doing domain | |
6177 | save/restore/migration must be enabled to handle larger | |
6178 | domains. | |
6179 | ||
c1c5413a SS |
6180 | xen_emul_unplug= [HW,X86,XEN] |
6181 | Unplug Xen emulated devices | |
6182 | Format: [unplug0,][unplug1] | |
6183 | ide-disks -- unplug primary master IDE devices | |
6184 | aux-ide-disks -- unplug non-primary-master IDE devices | |
6185 | nics -- unplug network devices | |
6186 | all -- unplug all emulated devices (NICs and IDE disks) | |
1dc7ce99 IC |
6187 | unnecessary -- unplugging emulated devices is |
6188 | unnecessary even if the host did not respond to | |
6189 | the unplug protocol | |
c93a4dfb | 6190 | never -- do not unplug even if version check succeeds |
c1c5413a | 6191 | |
c6875f3a BO |
6192 | xen_legacy_crash [X86,XEN] |
6193 | Crash from Xen panic notifier, without executing late | |
6194 | panic() code such as dumping handler. | |
6195 | ||
15a3eac0 | 6196 | xen_nopvspin [X86,XEN] |
9a3c05e6 ZD |
6197 | Disables the qspinlock slowpath using Xen PV optimizations. |
6198 | This parameter is obsoleted by "nopvspin" parameter, which | |
6199 | has equivalent effect for XEN platform. | |
15a3eac0 | 6200 | |
8d693b91 KRW |
6201 | xen_nopv [X86] |
6202 | Disables the PV optimizations forcing the HVM guest to | |
6203 | run as generic HVM guest with no PV drivers. | |
b39b0497 ZD |
6204 | This option is obsoleted by the "nopv" option, which |
6205 | has equivalent effect for XEN platform. | |
8d693b91 | 6206 | |
b36b0fe9 DW |
6207 | xen_no_vector_callback |
6208 | [KNL,X86,XEN] Disable the vector callback for Xen | |
6209 | event channel interrupts. | |
6210 | ||
197ecb38 MMG |
6211 | xen_scrub_pages= [XEN] |
6212 | Boolean option to control scrubbing pages before giving them back | |
6213 | to Xen, for use by other domains. Can be also changed at runtime | |
6214 | with /sys/devices/system/xen_memory/xen_memory0/scrub_pages. | |
6215 | Default value controlled with CONFIG_XEN_SCRUB_PAGES_DEFAULT. | |
6216 | ||
2ec16bc0 RT |
6217 | xen_timer_slop= [X86-64,XEN] |
6218 | Set the timer slop (in nanoseconds) for the virtual Xen | |
6219 | timers (default is 100000). This adjusts the minimum | |
6220 | delta of virtualized Xen timers, where lower values | |
6221 | improve timer resolution at the expense of processing | |
6222 | more timer interrupts. | |
6223 | ||
e99502f7 JG |
6224 | xen.event_eoi_delay= [XEN] |
6225 | How long to delay EOI handling in case of event | |
6226 | storms (jiffies). Default is 10. | |
6227 | ||
6228 | xen.event_loop_timeout= [XEN] | |
6229 | After which time (jiffies) the event handling loop | |
6230 | should start to delay EOI handling. Default is 2. | |
6231 | ||
1a89c1dc JG |
6232 | xen.fifo_events= [XEN] |
6233 | Boolean parameter to disable using fifo event handling | |
6234 | even if available. Normally fifo event handling is | |
6235 | preferred over the 2-level event handling, as it is | |
6236 | fairer and the number of possible event channels is | |
6237 | much higher. Default is on (use fifo events). | |
6238 | ||
30978346 ZD |
6239 | nopv= [X86,XEN,KVM,HYPER_V,VMWARE] |
6240 | Disables the PV optimizations forcing the guest to run | |
6241 | as generic guest with no PV drivers. Currently support | |
6242 | XEN HVM, KVM, HYPER_V and VMWARE guest. | |
6243 | ||
9a3c05e6 | 6244 | nopvspin [X86,XEN,KVM] |
05eee619 ZD |
6245 | Disables the qspinlock slow path using PV optimizations |
6246 | which allow the hypervisor to 'idle' the guest on lock | |
6247 | contention. | |
6248 | ||
1da177e4 | 6249 | xirc2ps_cs= [NET,PCMCIA] |
a9913044 RD |
6250 | Format: |
6251 | <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]] | |
c0addc9a | 6252 | |
ba45cff6 MN |
6253 | xive= [PPC] |
6254 | By default on POWER9 and above, the kernel will | |
6255 | natively use the XIVE interrupt controller. This option | |
6256 | allows the fallback firmware mode to be used: | |
6257 | ||
6258 | off Fallback to firmware control of XIVE interrupt | |
6259 | controller on both pseries and powernv | |
6260 | platforms. Only useful on POWER9 and above. | |
6261 | ||
c0addc9a LT |
6262 | xhci-hcd.quirks [USB,KNL] |
6263 | A hex value specifying bitmask with supplemental xhci | |
6264 | host controller quirks. Meaning of each bit can be | |
6265 | consulted in header drivers/usb/host/xhci.h. | |
6278f55b GR |
6266 | |
6267 | xmon [PPC] | |
6268 | Format: { early | on | rw | ro | off } | |
6269 | Controls if xmon debugger is enabled. Default is off. | |
6270 | Passing only "xmon" is equivalent to "xmon=early". | |
6271 | early Call xmon as early as possible on boot; xmon | |
6272 | debugger is called from setup_arch(). | |
6273 | on xmon debugger hooks will be installed so xmon | |
6274 | is only called on a kernel crash. Default mode, | |
6275 | i.e. either "ro" or "rw" mode, is controlled | |
6276 | with CONFIG_XMON_DEFAULT_RO_MODE. | |
6277 | rw xmon debugger hooks will be installed so xmon | |
6278 | is called only on a kernel crash, mode is write, | |
6279 | meaning SPR registers, memory and, other data | |
6280 | can be written using xmon commands. | |
6281 | ro same as "rw" option above but SPR registers, | |
6282 | memory, and other data can't be written using | |
6283 | xmon commands. | |
6284 | off xmon is disabled. |