hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
kernel/Documentation/admin-guide/kernel-parameters.txt
....@@ -13,7 +13,7 @@
1313 For ARM64, ONLY "acpi=off", "acpi=on" or "acpi=force"
1414 are available
1515
16
- See also Documentation/power/runtime_pm.txt, pci=noacpi
16
+ See also Documentation/power/runtime_pm.rst, pci=noacpi
1717
1818 acpi_apic_instance= [ACPI, IOAPIC]
1919 Format: <int>
....@@ -22,11 +22,13 @@
2222 default: 0
2323
2424 acpi_backlight= [HW,ACPI]
25
- acpi_backlight=vendor
26
- acpi_backlight=video
27
- If set to vendor, prefer vendor specific driver
25
+ { vendor | video | native | none }
26
+ If set to vendor, prefer vendor-specific driver
2827 (e.g. thinkpad_acpi, sony_acpi, etc.) instead
2928 of the ACPI video.ko driver.
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.
3032
3133 acpi_force_32bit_fadt_addr
3234 force FADT to use 32 bit addresses rather than the
....@@ -53,7 +55,7 @@
5355 ACPI_DEBUG_PRINT statements, e.g.,
5456 ACPI_DEBUG_PRINT((ACPI_DB_INFO, ...
5557 The debug_level mask defaults to "info". See
56
- Documentation/acpi/debug.txt for more information about
58
+ Documentation/firmware-guide/acpi/debug.rst for more information about
5759 debug layers and levels.
5860
5961 Enable processor driver info messages:
....@@ -227,7 +229,7 @@
227229 acpi_sleep= [HW,ACPI] Sleep options
228230 Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig,
229231 old_ordering, nonvs, sci_force_enable, nobl }
230
- See Documentation/power/video.txt for information on
232
+ See Documentation/power/video.rst for information on
231233 s3_bios and s3_mode.
232234 s3_beep is for debugging; it makes the PC's speaker beep
233235 as soon as the kernel's real-mode entry point is called.
....@@ -287,6 +289,20 @@
287289 do not want to use tracing_snapshot_alloc() as it needs
288290 to be done where GFP_KERNEL allocations are allowed.
289291
292
+ allow_file_spec_access
293
+ Allow speculative faults on file backed pages.
294
+ Speculative faults are enabled only for those vm_ops
295
+ that implement and return true for allow_speculation
296
+ callback.
297
+
298
+ allow_mismatched_32bit_el0 [ARM64]
299
+ Allow execve() of 32-bit applications and setting of the
300
+ PER_LINUX32 personality on systems where only a strict
301
+ subset of the CPUs support 32-bit EL0. When this
302
+ parameter is present, the set of CPUs supporting 32-bit
303
+ EL0 is indicated by /sys/devices/system/cpu/aarch32_el0
304
+ and hot-unplug operations may be restricted.
305
+
290306 amd_iommu= [HW,X86-64]
291307 Pass parameters to the AMD IOMMU driver in the system.
292308 Possible values are:
....@@ -335,7 +351,7 @@
335351 APC and your system crashes randomly.
336352
337353 apic= [APIC,X86] Advanced Programmable Interrupt Controller
338
- Change the output verbosity whilst booting
354
+ Change the output verbosity while booting
339355 Format: { quiet (default) | verbose | debug }
340356 Change the amount of debugging information output
341357 when initialising the APIC and IO-APIC components.
....@@ -354,7 +370,7 @@
354370 shot down by NMI
355371
356372 autoconf= [IPV6]
357
- See Documentation/networking/ipv6.txt.
373
+ See Documentation/networking/ipv6.rst.
358374
359375 show_lapic= [APIC,X86] Advanced Programmable Interrupt Controller
360376 Limit apic dumping. The parameter defines the maximal
....@@ -370,6 +386,15 @@
370386
371387 arcrimi= [HW,NET] ARCnet - "RIM I" (entirely mem-mapped) cards
372388 Format: <io>,<irq>,<nodeID>
389
+
390
+ arm64.nobti [ARM64] Unconditionally disable Branch Target
391
+ Identification support
392
+
393
+ arm64.nopauth [ARM64] Unconditionally disable Pointer Authentication
394
+ support
395
+
396
+ arm64.nomte [ARM64] Unconditionally disable Memory Tagging Extension
397
+ support
373398
374399 ataflop= [HW,M68k]
375400
....@@ -434,22 +459,29 @@
434459
435460 blkdevparts= Manual partition parsing of block device(s) for
436461 embedded devices based on command line input.
437
- See Documentation/block/cmdline-partition.txt
462
+ See Documentation/block/cmdline-partition.rst
438463
439464 boot_delay= Milliseconds to delay each printk during boot.
440465 Values larger than 10 seconds (10000) are changed to
441466 no delay (0).
442467 Format: integer
443468
444
- bootmem_debug [KNL] Enable bootmem allocator debug messages.
469
+ bootconfig [KNL]
470
+ Extended command line options can be added to an initrd
471
+ and this will cause the kernel to look for it.
472
+
473
+ See Documentation/admin-guide/bootconfig.rst
445474
446475 bert_disable [ACPI]
447476 Disable BERT OS support on buggy BIOSes.
448477
478
+ bgrt_disable [ACPI][X86]
479
+ Disable BGRT to avoid flickering OEM logo.
480
+
449481 bttv.card= [HW,V4L] bttv (bt848 + bt878 based grabber cards)
450482 bttv.radio= Most important insmod options are available as
451483 kernel args too.
452
- bttv.pll= See Documentation/media/v4l-drivers/bttv.rst
484
+ bttv.pll= See Documentation/admin-guide/media/bttv.rst
453485 bttv.tuner=
454486
455487 bulk_remove=off [PPC] This parameter disables the use of the pSeries
....@@ -465,6 +497,11 @@
465497 possible to determine what the correct size should be.
466498 This option provides an override for these situations.
467499
500
+ carrier_timeout=
501
+ [NET] Specifies amount of time (in seconds) that
502
+ the kernel should wait for a network carrier. By default
503
+ it waits 120 seconds.
504
+
468505 ca_keys= [KEYS] This parameter identifies a specific key(s) on
469506 the system trusted keyring to be used for certificate
470507 trust validation.
....@@ -477,7 +514,7 @@
477514 others).
478515
479516 ccw_timeout_log [S390]
480
- See Documentation/s390/CommonIO for details.
517
+ See Documentation/s390/common_io.rst for details.
481518
482519 cgroup_disable= [KNL] Disable a particular controller or optional feature
483520 Format: {name of the controller(s) or feature(s) to disable}
....@@ -517,10 +554,11 @@
517554 1 -- check protection requested by application.
518555 Default value is set via a kernel config option.
519556 Value can be changed at runtime via
520
- /selinux/checkreqprot.
557
+ /sys/fs/selinux/checkreqprot.
558
+ Setting checkreqprot to 1 is deprecated.
521559
522560 cio_ignore= [S390]
523
- See Documentation/s390/CommonIO for details.
561
+ See Documentation/s390/common_io.rst for details.
524562 clk_ignore_unused
525563 [CLK]
526564 Prevents the clock framework from automatically gating
....@@ -587,13 +625,24 @@
587625 some critical bits.
588626
589627 cma=nn[MG]@[start[MG][-end[MG]]]
590
- [ARM,X86,KNL]
628
+ [KNL,CMA]
591629 Sets the size of kernel global memory area for
592630 contiguous memory allocations and optionally the
593631 placement constraint by the physical address range of
594632 memory allocations. A value of 0 disables CMA
595633 altogether. For more information, see
596
- include/linux/dma-contiguous.h
634
+ kernel/dma/contiguous.c
635
+
636
+ cma_pernuma=nn[MG]
637
+ [ARM64,KNL]
638
+ Sets the size of kernel per-numa memory area for
639
+ contiguous memory allocations. A value of 0 disables
640
+ per-numa CMA altogether. And If this option is not
641
+ specificed, the default value is 0.
642
+ With per-numa CMA enabled, DMA users on node nid will
643
+ first try to allocate buffer from the pernuma area
644
+ which is located in node nid, if the allocation fails,
645
+ they will fallback to the global default memory area.
597646
598647 cmo_free_hint= [PPC] Format: { yes | no }
599648 Specify whether pages are marked as being inactive
....@@ -634,7 +683,7 @@
634683
635684 See Documentation/admin-guide/serial-console.rst for more
636685 information. See
637
- Documentation/networking/netconsole.txt for an
686
+ Documentation/networking/netconsole.rst for an
638687 alternative.
639688
640689 uart[8250],io,<addr>[,options]
....@@ -681,7 +730,7 @@
681730 coredump_filter=
682731 [KNL] Change the default value for
683732 /proc/<pid>/coredump_filter.
684
- See also Documentation/filesystems/proc.txt.
733
+ See also Documentation/filesystems/proc.rst.
685734
686735 coresight_cpu_debug.enable
687736 [ARM,ARM64]
....@@ -693,8 +742,16 @@
693742 cpuidle.off=1 [CPU_IDLE]
694743 disable the cpuidle sub-system
695744
745
+ cpuidle.governor=
746
+ [CPU_IDLE] Name of the cpuidle governor to use.
747
+
696748 cpufreq.off=1 [CPU_FREQ]
697749 disable the cpufreq sub-system
750
+
751
+ cpufreq.default_governor=
752
+ [CPU_FREQ] Name of the default cpufreq governor or
753
+ policy to use. This governor must be registered in the
754
+ kernel before the cpufreq driver probes.
698755
699756 cpu_init_udelay=N
700757 [X86] Delay for N microsec between assert and de-assert
....@@ -711,25 +768,28 @@
711768 upon panic. This parameter reserves the physical
712769 memory region [offset, offset + size] for that kernel
713770 image. If '@offset' is omitted, then a suitable offset
714
- is selected automatically. Check
715
- Documentation/kdump/kdump.txt for further details.
771
+ is selected automatically.
772
+ [KNL, X86-64] Select a region under 4G first, and
773
+ fall back to reserve region above 4G when '@offset'
774
+ hasn't been specified.
775
+ See Documentation/admin-guide/kdump/kdump.rst for further details.
716776
717777 crashkernel=range1:size1[,range2:size2,...][@offset]
718778 [KNL] Same as above, but depends on the memory
719779 in the running system. The syntax of range is
720780 start-[end] where start and end are both
721781 a memory unit (amount[KMG]). See also
722
- Documentation/kdump/kdump.txt for an example.
782
+ Documentation/admin-guide/kdump/kdump.rst for an example.
723783
724784 crashkernel=size[KMG],high
725
- [KNL, x86_64] range could be above 4G. Allow kernel
785
+ [KNL, X86-64] range could be above 4G. Allow kernel
726786 to allocate physical memory region from top, so could
727787 be above 4G if system have more than 4G ram installed.
728788 Otherwise memory region will be allocated below 4G, if
729789 available.
730790 It will be ignored if crashkernel=X is specified.
731791 crashkernel=size[KMG],low
732
- [KNL, x86_64] range under 4G. When crashkernel=X,high
792
+ [KNL, X86-64] range under 4G. When crashkernel=X,high
733793 is passed, kernel could allocate physical memory region
734794 above 4G, that cause second kernel crash on system
735795 that require some amount of low memory, e.g. swiotlb
....@@ -809,27 +869,41 @@
809869 tracking down these problems.
810870
811871 debug_pagealloc=
812
- [KNL] When CONFIG_DEBUG_PAGEALLOC is set, this
813
- parameter enables the feature at boot time. In
814
- default, it is disabled. We can avoid allocating huge
815
- chunk of memory for debug pagealloc if we don't enable
816
- it at boot time and the system will work mostly same
817
- with the kernel built without CONFIG_DEBUG_PAGEALLOC.
872
+ [KNL] When CONFIG_DEBUG_PAGEALLOC is set, this parameter
873
+ enables the feature at boot time. By default, it is
874
+ disabled and the system will work mostly the same as a
875
+ kernel built without CONFIG_DEBUG_PAGEALLOC.
876
+ Note: to get most of debug_pagealloc error reports, it's
877
+ useful to also enable the page_owner functionality.
818878 on: enable the feature
879
+
880
+ debugfs= [KNL] This parameter enables what is exposed to userspace
881
+ and debugfs internal clients.
882
+ Format: { on, no-mount, off }
883
+ on: All functions are enabled.
884
+ no-mount:
885
+ Filesystem is not registered but kernel clients can
886
+ access APIs and a crashkernel can be used to read
887
+ its content. There is nothing to mount.
888
+ off: Filesystem is not registered and clients
889
+ get a -EPERM as result when trying to register files
890
+ or directories within debugfs.
891
+ This is equivalent of the runtime functionality if
892
+ debugfs was not enabled in the kernel at all.
893
+ Default value is set in build-time with a kernel configuration.
819894
820895 debugpat [X86] Enable PAT debugging
821896
822
- decnet.addr= [HW,NET]
823
- Format: <area>[,<node>]
824
- See also Documentation/networking/decnet.txt.
825
-
826897 default_hugepagesz=
827
- [same as hugepagesz=] The size of the default
828
- HugeTLB page size. This is the size represented by
829
- the legacy /proc/ hugepages APIs, used for SHM, and
830
- default size when mounting hugetlbfs filesystems.
831
- Defaults to the default architecture's huge page size
832
- if not specified.
898
+ [HW] The size of the default HugeTLB page. This is
899
+ the size represented by the legacy /proc/ hugepages
900
+ APIs. In addition, this is the default hugetlb size
901
+ used for shmget(), mmap() and mounting hugetlbfs
902
+ filesystems. If not specified, defaults to the
903
+ architecture's default huge page size. Huge page
904
+ sizes are architecture dependent. See also
905
+ Documentation/admin-guide/mm/hugetlbpage.rst.
906
+ Format: size[KMG]
833907
834908 deferred_probe_timeout=
835909 [KNL] Debugging option to set a timeout in seconds for
....@@ -840,6 +914,18 @@
840914 dump out devices still on the deferred probe list after
841915 retrying.
842916
917
+ dfltcc= [HW,S390]
918
+ Format: { on | off | def_only | inf_only | always }
919
+ on: s390 zlib hardware support for compression on
920
+ level 1 and decompression (default)
921
+ off: No s390 zlib hardware support
922
+ def_only: s390 zlib hardware support for deflate
923
+ only (compression on level 1)
924
+ inf_only: s390 zlib hardware support for inflate
925
+ only (decompression)
926
+ always: Same as 'on' but ignores the selected compression
927
+ level always using hardware support (used for debugging)
928
+
843929 dhash_entries= [KNL]
844930 Set number of hash buckets for dentry cache.
845931
....@@ -849,8 +935,17 @@
849935 can be useful when debugging issues that require an SLB
850936 miss to occur.
851937
938
+ disable_dma32= [KNL]
939
+ Dynamically disable ZONE_DMA32 on kernels compiled with
940
+ CONFIG_ZONE_DMA32=y.
941
+
942
+ stress_slb [PPC]
943
+ Limits the number of kernel SLB entries, and flushes
944
+ them frequently to increase the rate of SLB faults
945
+ on kernel addresses.
946
+
852947 disable= [IPV6]
853
- See Documentation/networking/ipv6.txt.
948
+ See Documentation/networking/ipv6.rst.
854949
855950 hardened_usercopy=
856951 [KNL] Under CONFIG_HARDENED_USERCOPY, whether
....@@ -866,6 +961,14 @@
866961 disable_radix [PPC]
867962 Disable RADIX MMU mode on POWER9
868963
964
+ radix_hcall_invalidate=on [PPC/PSERIES]
965
+ Disable RADIX GTSE feature and use hcall for TLB
966
+ invalidate.
967
+
968
+ disable_tlbie [PPC]
969
+ Disable TLBIE instruction. Currently does not work
970
+ with KVM, with HASH MMU, or with coherent accelerators.
971
+
869972 disable_cpu_apicid= [X86,APIC,SMP]
870973 Format: <int>
871974 The number of initial APIC ID for the
....@@ -875,12 +978,18 @@
875978 causing system reset or hang due to sending
876979 INIT from AP to BSP.
877980
981
+ perf_v4_pmi= [X86,INTEL]
982
+ Format: <bool>
983
+ Disable Intel PMU counter freezing feature.
984
+ The feature only exists starting from
985
+ Arch Perfmon v4 (Skylake and newer).
986
+
878987 disable_ddw [PPC/PSERIES]
879
- Disable Dynamic DMA Window support. Use this if
988
+ Disable Dynamic DMA Window support. Use this
880989 to workaround buggy firmware.
881990
882991 disable_ipv6= [IPV6]
883
- See Documentation/networking/ipv6.txt.
992
+ See Documentation/networking/ipv6.rst.
884993
885994 disable_mtrr_cleanup [X86]
886995 The kernel tries to adjust MTRR layout from continuous
....@@ -930,7 +1039,7 @@
9301039 edid/1680x1050.bin, or edid/1920x1080.bin is given
9311040 and no file with the same name exists. Details and
9321041 instructions how to build your own EDID data are
933
- available in Documentation/EDID/HOWTO.txt. An EDID
1042
+ available in Documentation/admin-guide/edid.rst. An EDID
9341043 data set will only be used for a particular connector,
9351044 if its name and a colon are prepended to the EDID
9361045 name. Each connector may use a unique EDID data
....@@ -955,19 +1064,15 @@
9551064 what data is available or for reverse-engineering.
9561065
9571066 dyndbg[="val"] [KNL,DYNAMIC_DEBUG]
958
- module.dyndbg[="val"]
1067
+ <module>.dyndbg[="val"]
9591068 Enable debug messages at boot time. See
9601069 Documentation/admin-guide/dynamic-debug-howto.rst
9611070 for details.
9621071
963
- nompx [X86] Disables Intel Memory Protection Extensions.
964
- See Documentation/x86/intel_mpx.txt for more
965
- information about the feature.
966
-
9671072 nopku [X86] Disable Memory Protection Keys CPU feature found
9681073 in some Intel CPUs.
9691074
970
- module.async_probe [KNL]
1075
+ <module>.async_probe [KNL]
9711076 Enable asynchronous probe on this module.
9721077
9731078 early_ioremap_debug [KNL]
....@@ -977,12 +1082,10 @@
9771082
9781083 earlycon= [KNL] Output early console device and options.
9791084
980
- [ARM64] The early console is determined by the
981
- stdout-path property in device tree's chosen node,
982
- or determined by the ACPI SPCR table.
983
-
984
- [X86] When used with no options the early console is
985
- determined by the ACPI SPCR table.
1085
+ When used with no options, the early console is
1086
+ determined by stdout-path property in device tree's
1087
+ chosen node or the ACPI SPCR table if supported by
1088
+ the platform.
9861089
9871090 cdns,<addr>[,options]
9881091 Start an early, polled-mode console on a Cadence
....@@ -1038,6 +1141,16 @@
10381141 specified address. The serial port must already be
10391142 setup and configured. Options are not yet supported.
10401143
1144
+ rda,<addr>
1145
+ Start an early, polled-mode console on a serial port
1146
+ of an RDA Micro SoC, such as RDA8810PL, at the
1147
+ specified address. The serial port must already be
1148
+ setup and configured. Options are not yet supported.
1149
+
1150
+ sbi
1151
+ Use RISC-V SBI (Supervisor Binary Interface) for early
1152
+ console.
1153
+
10411154 smh Use ARM semihosting calls for early console.
10421155
10431156 s3c2410,<addr>
....@@ -1065,6 +1178,12 @@
10651178 A valid base address must be provided, and the serial
10661179 port must already be setup and configured.
10671180
1181
+ ec_imx21,<addr>
1182
+ ec_imx6q,<addr>
1183
+ Start an early, polled-mode, output-only console on the
1184
+ Freescale i.MX UART at the specified address. The UART
1185
+ must already be setup and configured.
1186
+
10681187 ar3700_uart,<addr>
10691188 Start an early, polled-mode console on the
10701189 Armada 3700 serial port at the specified
....@@ -1077,9 +1196,21 @@
10771196 specified address. The serial port must already be
10781197 setup and configured. Options are not yet supported.
10791198
1199
+ efifb,[options]
1200
+ Start an early, unaccelerated console on the EFI
1201
+ memory mapped framebuffer (if available). On cache
1202
+ coherent non-x86 systems that use system memory for
1203
+ the framebuffer, pass the 'ram' option so that it is
1204
+ mapped with the correct attributes.
1205
+
1206
+ linflex,<addr>
1207
+ Use early console provided by Freescale LINFlexD UART
1208
+ serial driver for NXP S32V234 SoCs. A valid base
1209
+ address must be provided, and the serial port must
1210
+ already be setup and configured.
1211
+
10801212 earlyprintk= [X86,SH,ARM,M68k,S390]
10811213 earlyprintk=vga
1082
- earlyprintk=efi
10831214 earlyprintk=sclp
10841215 earlyprintk=xen
10851216 earlyprintk=serial[,ttySn[,baudrate]]
....@@ -1136,19 +1267,34 @@
11361267 This is designed to be used in conjunction with
11371268 the boot argument: earlyprintk=vga
11381269
1270
+ This parameter works in place of the kgdboc parameter
1271
+ but can only be used if the backing tty is available
1272
+ very early in the boot process. For early debugging
1273
+ via a serial port see kgdboc_earlycon instead.
1274
+
11391275 edd= [EDD]
11401276 Format: {"off" | "on" | "skip[mbr]"}
11411277
11421278 efi= [EFI]
1143
- Format: { "old_map", "nochunk", "noruntime", "debug" }
1144
- old_map [X86-64]: switch to the old ioremap-based EFI
1145
- runtime services mapping. 32-bit still uses this one by
1146
- default.
1279
+ Format: { "debug", "disable_early_pci_dma",
1280
+ "nochunk", "noruntime", "nosoftreserve",
1281
+ "novamap", "no_disable_early_pci_dma" }
1282
+ debug: enable misc debug output.
1283
+ disable_early_pci_dma: disable the busmaster bit on all
1284
+ PCI bridges while in the EFI boot stub.
11471285 nochunk: disable reading files in "chunks" in the EFI
11481286 boot stub, as chunking can cause problems with some
11491287 firmware implementations.
11501288 noruntime : disable EFI runtime services support
1151
- debug: enable misc debug output
1289
+ nosoftreserve: The EFI_MEMORY_SP (Specific Purpose)
1290
+ attribute may cause the kernel to reserve the
1291
+ memory range for a memory mapping driver to
1292
+ claim. Specify efi=nosoftreserve to disable this
1293
+ reservation and treat the memory by its base type
1294
+ (i.e. EFI_CONVENTIONAL_MEMORY / "System RAM").
1295
+ novamap: do not call SetVirtualAddressMap().
1296
+ no_disable_early_pci_dma: Leave the busmaster bit set
1297
+ on all PCI bridges while in the EFI boot stub
11521298
11531299 efi_no_storage_paranoia [EFI; X86]
11541300 Using this parameter you can use more than 50% of
....@@ -1161,21 +1307,27 @@
11611307 updating original EFI memory map.
11621308 Region of memory which aa attribute is added to is
11631309 from ss to ss+nn.
1310
+
11641311 If efi_fake_mem=2G@4G:0x10000,2G@0x10a0000000:0x10000
11651312 is specified, EFI_MEMORY_MORE_RELIABLE(0x10000)
11661313 attribute is added to range 0x100000000-0x180000000 and
11671314 0x10a0000000-0x1120000000.
11681315
1316
+ If efi_fake_mem=8G@9G:0x40000 is specified, the
1317
+ EFI_MEMORY_SP(0x40000) attribute is added to
1318
+ range 0x240000000-0x43fffffff.
1319
+
11691320 Using this parameter you can do debugging of EFI memmap
1170
- related feature. For example, you can do debugging of
1321
+ related features. For example, you can do debugging of
11711322 Address Range Mirroring feature even if your box
1172
- doesn't support it.
1323
+ doesn't support it, or mark specific memory as
1324
+ "soft reserved".
11731325
11741326 efivar_ssdt= [EFI; X86] Name of an EFI variable that contains an SSDT
11751327 that is to be dynamically loaded by Linux. If there are
11761328 multiple variables with the same name but with different
11771329 vendor GUIDs, all of them will be loaded. See
1178
- Documentation/acpi/ssdt-overlays.txt for details.
1330
+ Documentation/admin-guide/acpi/ssdt-overlays.rst for details.
11791331
11801332
11811333 eisa_irq_edge= [PARISC,HW]
....@@ -1185,16 +1337,11 @@
11851337 See comment before function elanfreq_setup() in
11861338 arch/x86/kernel/cpu/cpufreq/elanfreq.c.
11871339
1188
- elevator= [IOSCHED]
1189
- Format: {"cfq" | "deadline" | "noop"}
1190
- See Documentation/block/cfq-iosched.txt and
1191
- Documentation/block/deadline-iosched.txt for details.
1192
-
11931340 elfcorehdr=[size[KMG]@]offset[KMG] [IA64,PPC,SH,X86,S390]
11941341 Specifies physical address of start of kernel core
11951342 image elf header and optionally the size. Generally
11961343 kexec loader will pass this option to capture kernel.
1197
- See Documentation/kdump/kdump.txt for details.
1344
+ See Documentation/admin-guide/kdump/kdump.rst for details.
11981345
11991346 enable_mtrr_cleanup [X86]
12001347 The kernel tries to adjust MTRR layout from continuous
....@@ -1213,7 +1360,8 @@
12131360 0 -- permissive (log only, no denials).
12141361 1 -- enforcing (deny and log).
12151362 Default value is 0.
1216
- Value can be changed at runtime via /selinux/enforce.
1363
+ Value can be changed at runtime via
1364
+ /sys/fs/selinux/enforce.
12171365
12181366 erst_disable [ACPI]
12191367 Disable Error Record Serialization Table (ERST)
....@@ -1229,14 +1377,20 @@
12291377 current integrity status.
12301378
12311379 failslab=
1380
+ fail_usercopy=
12321381 fail_page_alloc=
12331382 fail_make_request=[KNL]
12341383 General fault injection mechanism.
12351384 Format: <interval>,<probability>,<space>,<times>
12361385 See also Documentation/fault-injection/.
12371386
1387
+ fb_tunnels= [NET]
1388
+ Format: { initns | none }
1389
+ See Documentation/admin-guide/sysctl/net.rst for
1390
+ fb_tunnels_only_for_init_ns
1391
+
12381392 floppy= [HW]
1239
- See Documentation/blockdev/floppy.txt.
1393
+ See Documentation/admin-guide/blockdev/floppy.rst.
12401394
12411395 force_pal_cache_flush
12421396 [IA-64] Avoid check_sal_cache_flush which may hang on
....@@ -1295,6 +1449,29 @@
12951449 can be changed at run time by the max_graph_depth file
12961450 in the tracefs tracing directory. default: 0 (no limit)
12971451
1452
+ fw_devlink= [KNL] Create device links between consumer and supplier
1453
+ devices by scanning the firmware to infer the
1454
+ consumer/supplier relationships. This feature is
1455
+ especially useful when drivers are loaded as modules as
1456
+ it ensures proper ordering of tasks like device probing
1457
+ (suppliers first, then consumers), supplier boot state
1458
+ clean up (only after all consumers have probed),
1459
+ suspend/resume & runtime PM (consumers first, then
1460
+ suppliers).
1461
+ Format: { off | permissive | on | rpm }
1462
+ off -- Don't create device links from firmware info.
1463
+ permissive -- Create device links from firmware info
1464
+ but use it only for ordering boot state clean
1465
+ up (sync_state() calls).
1466
+ on -- Create device links from firmware info and use it
1467
+ to enforce probe and suspend/resume ordering.
1468
+ rpm -- Like "on", but also use to order runtime PM.
1469
+
1470
+ fw_devlink.strict=<bool>
1471
+ [KNL] Treat all inferred dependencies as mandatory
1472
+ dependencies. This only applies for fw_devlink=on|rpm.
1473
+ Format: <bool>
1474
+
12981475 gamecon.map[2|3]=
12991476 [HW,JOY] Multisystem joystick and NES/SNES/PSX pad
13001477 support via parallel port (up to 5 devices per port)
....@@ -1303,9 +1480,29 @@
13031480
13041481 gamma= [HW,DRM]
13051482
1306
- gart_fix_e820= [X86_64] disable the fix e820 for K8 GART
1483
+ gart_fix_e820= [X86-64] disable the fix e820 for K8 GART
13071484 Format: off | on
13081485 default: on
1486
+
1487
+ gather_data_sampling=
1488
+ [X86,INTEL] Control the Gather Data Sampling (GDS)
1489
+ mitigation.
1490
+
1491
+ Gather Data Sampling is a hardware vulnerability which
1492
+ allows unprivileged speculative access to data which was
1493
+ previously stored in vector registers.
1494
+
1495
+ This issue is mitigated by default in updated microcode.
1496
+ The mitigation may have a performance impact but can be
1497
+ disabled. On systems without the microcode mitigation
1498
+ disabling AVX serves as a mitigation.
1499
+
1500
+ force: Disable AVX to mitigate systems without
1501
+ microcode mitigation. No effect if the microcode
1502
+ mitigation is present. Known to cause crashes in
1503
+ userspace with buggy AVX enumeration.
1504
+
1505
+ off: Disable GDS mitigation.
13091506
13101507 gcov_persist= [GCOV] When non-zero (default), profiling data for
13111508 kernel modules is saved and remains accessible via
....@@ -1347,7 +1544,7 @@
13471544 hardlockup_all_cpu_backtrace=
13481545 [KNL] Should the hard-lockup detector generate
13491546 backtraces on all cpus.
1350
- Format: <integer>
1547
+ Format: 0 | 1
13511548
13521549 hashdist= [KNL,NUMA] Large hashes allocated during boot
13531550 are distributed across NUMA nodes. Defaults on
....@@ -1373,9 +1570,6 @@
13731570 Valid parameters: "on", "off"
13741571 Default: "on"
13751572
1376
- hisax= [HW,ISDN]
1377
- See Documentation/isdn/README.HiSax.
1378
-
13791573 hlt [BUGS=ARM,SH]
13801574
13811575 hpet= [X86-32,HPET] option to control HPET usage
....@@ -1389,19 +1583,38 @@
13891583 hpet_mmap= [X86, HPET_MMAP] Allow userspace to mmap HPET
13901584 registers. Default set by CONFIG_HPET_MMAP_DEFAULT.
13911585
1392
- hugepages= [HW,X86-32,IA-64] HugeTLB pages to allocate at boot.
1393
- hugepagesz= [HW,IA-64,PPC,X86-64] The size of the HugeTLB pages.
1394
- On x86-64 and powerpc, this option can be specified
1395
- multiple times interleaved with hugepages= to reserve
1396
- huge pages of different sizes. Valid pages sizes on
1397
- x86-64 are 2M (when the CPU supports "pse") and 1G
1398
- (when the CPU supports the "pdpe1gb" cpuinfo flag).
1586
+ hugetlb_cma= [HW] The size of a cma area used for allocation
1587
+ of gigantic hugepages.
1588
+ Format: nn[KMGTPE]
1589
+
1590
+ Reserve a cma area of given size and allocate gigantic
1591
+ hugepages using the cma allocator. If enabled, the
1592
+ boot-time allocation of gigantic hugepages is skipped.
1593
+
1594
+ hugepages= [HW] Number of HugeTLB pages to allocate at boot.
1595
+ If this follows hugepagesz (below), it specifies
1596
+ the number of pages of hugepagesz to be allocated.
1597
+ If this is the first HugeTLB parameter on the command
1598
+ line, it specifies the number of pages to allocate for
1599
+ the default huge page size. See also
1600
+ Documentation/admin-guide/mm/hugetlbpage.rst.
1601
+ Format: <integer>
1602
+
1603
+ hugepagesz=
1604
+ [HW] The size of the HugeTLB pages. This is used in
1605
+ conjunction with hugepages (above) to allocate huge
1606
+ pages of a specific size at boot. The pair
1607
+ hugepagesz=X hugepages=Y can be specified once for
1608
+ each supported huge page size. Huge page sizes are
1609
+ architecture dependent. See also
1610
+ Documentation/admin-guide/mm/hugetlbpage.rst.
1611
+ Format: size[KMG]
13991612
14001613 hung_task_panic=
14011614 [KNL] Should the hung task detector generate panics.
1402
- Format: <integer>
1615
+ Format: 0 | 1
14031616
1404
- A nonzero value instructs the kernel to panic when a
1617
+ A value of 1 instructs the kernel to panic when a
14051618 hung task is detected. The default value is controlled
14061619 by the CONFIG_BOOTPARAM_HUNG_TASK_PANIC build-time
14071620 option. The value selected by this boot parameter can
....@@ -1412,6 +1625,15 @@
14121625 hvc_iucv_allow= [S390] Comma-separated list of z/VM user IDs.
14131626 If specified, z/VM IUCV HVC accepts connections
14141627 from listed z/VM user IDs only.
1628
+
1629
+ hvc_dcc.enable= [ARM,ARM64] Enable DCC driver at runtime. For GKI,
1630
+ disabled at runtime by default to prevent
1631
+ crashes in devices which do not support DCC.
1632
+
1633
+ hv_nopvspin [X86,HYPER_V] Disables the paravirt spinlock optimizations
1634
+ which allow the hypervisor to 'idle' the
1635
+ guest on lock contention.
1636
+
14151637 keep_bootcon [KNL]
14161638 Do not unregister boot console at start. This is only
14171639 useful for debugging when something happens in the window
....@@ -1489,7 +1711,7 @@
14891711 Format: =0.0 to prevent dma on hda, =0.1 hdb =1.0 hdc
14901712 .vlb_clock .pci_clock .noflush .nohpa .noprobe .nowerr
14911713 .cdrom .chs .ignore_cable are additional options
1492
- See Documentation/ide/ide.txt.
1714
+ See Documentation/ide/ide.rst.
14931715
14941716 ide-generic.probe-mask= [HW] (E)IDE subsystem
14951717 Format: <int>
....@@ -1570,7 +1792,7 @@
15701792 Format: { "off" | "enforce" | "fix" | "log" }
15711793 default: "enforce"
15721794
1573
- ima_appraise_tcb [IMA]
1795
+ ima_appraise_tcb [IMA] Deprecated. Use ima_policy= instead.
15741796 The builtin appraise policy appraises all files
15751797 owned by uid=0.
15761798
....@@ -1597,8 +1819,7 @@
15971819 uid=0.
15981820
15991821 The "appraise_tcb" policy appraises the integrity of
1600
- all files owned by root. (This is the equivalent
1601
- of ima_appraise_tcb.)
1822
+ all files owned by root.
16021823
16031824 The "secure_boot" policy appraises the integrity
16041825 of files (eg. kexec kernel image, kernel modules,
....@@ -1656,6 +1877,13 @@
16561877
16571878 initrd= [BOOT] Specify the location of the initial ramdisk
16581879
1880
+ initrdmem= [KNL] Specify a physical address and size from which to
1881
+ load the initrd. If an initrd is compiled in or
1882
+ specified in the bootparams, it takes priority over this
1883
+ setting.
1884
+ Format: ss[KMG],nn[KMG]
1885
+ Default is 0, 0
1886
+
16591887 init_on_alloc= [MM] Fill newly allocated pages and heap objects with
16601888 zeroes.
16611889 Format: 0 | 1
....@@ -1665,7 +1893,7 @@
16651893 Format: 0 | 1
16661894 Default set by CONFIG_INIT_ON_FREE_DEFAULT_ON.
16671895
1668
- init_pkru= [x86] Specify the default memory protection keys rights
1896
+ init_pkru= [X86] Specify the default memory protection keys rights
16691897 register contents for all processes. 0x55555554 by
16701898 default (disallow access to all but pkey 0). Can
16711899 override in debugfs after boot.
....@@ -1673,7 +1901,7 @@
16731901 inport.irq= [HW] Inport (ATI XL and Microsoft) busmouse driver
16741902 Format: <irq>
16751903
1676
- int_pln_enable [x86] Enable power limit notification interrupt
1904
+ int_pln_enable [X86] Enable power limit notification interrupt
16771905
16781906 integrity_audit=[IMA]
16791907 Format: { "0" | "1" }
....@@ -1691,7 +1919,7 @@
16911919 bypassed by not enabling DMAR with this option. In
16921920 this case, gfx device will use physical address for
16931921 DMA.
1694
- forcedac [x86_64]
1922
+ forcedac [X86-64]
16951923 With this option iommu will not optimize to look
16961924 for io virtual address below 32-bit forcing dual
16971925 address cycle on pci bus for cards supporting greater
....@@ -1706,12 +1934,11 @@
17061934 By default, super page will be supported if Intel IOMMU
17071935 has the capability. With this option, super page will
17081936 not be supported.
1709
- ecs_off [Default Off]
1710
- By default, extended context tables will be supported if
1711
- the hardware advertises that it has support both for the
1712
- extended tables themselves, and also PASID support. With
1713
- this option set, extended tables will not be used even
1714
- on hardware which claims to support them.
1937
+ sm_on [Default Off]
1938
+ By default, scalable mode will be disabled even if the
1939
+ hardware advertises that it has support for the scalable
1940
+ mode translation. With this option set, scalable mode
1941
+ will be used on hardware which claims to support it.
17151942 tboot_noforce [Default Off]
17161943 Do not force the Intel IOMMU enabled under tboot.
17171944 By default, tboot will force Intel IOMMU on, which
....@@ -1721,6 +1948,11 @@
17211948 Note that using this option lowers the security
17221949 provided by tboot because it makes the system
17231950 vulnerable to DMA attacks.
1951
+ nobounce [Default off]
1952
+ Disable bounce buffer for untrusted devices such as
1953
+ the Thunderbolt devices. This will treat the untrusted
1954
+ devices as the trusted ones, hence might expose security
1955
+ risks of DMA attacks.
17241956
17251957 intel_idle.max_cstate= [KNL,HW,ACPI,X86]
17261958 0 disables intel_idle and fall back on acpi_idle.
....@@ -1772,7 +2004,7 @@
17722004 strict regions from userspace.
17732005 relaxed
17742006
1775
- iommu= [x86]
2007
+ iommu= [X86]
17762008 off
17772009 force
17782010 noforce
....@@ -1782,19 +2014,31 @@
17822014 merge
17832015 nomerge
17842016 soft
1785
- pt [x86]
1786
- nopt [x86]
2017
+ pt [X86]
2018
+ nopt [X86]
17872019 nobypass [PPC/POWERNV]
17882020 Disable IOMMU bypass, using IOMMU for PCI devices.
17892021
2022
+ iommu.strict= [ARM64] Configure TLB invalidation behaviour
2023
+ Format: { "0" | "1" }
2024
+ 0 - Lazy mode.
2025
+ Request that DMA unmap operations use deferred
2026
+ invalidation of hardware TLBs, for increased
2027
+ throughput at the cost of reduced device isolation.
2028
+ Will fall back to strict mode if not supported by
2029
+ the relevant IOMMU driver.
2030
+ 1 - Strict mode (default).
2031
+ DMA unmap operations invalidate IOMMU hardware TLBs
2032
+ synchronously.
2033
+
17902034 iommu.passthrough=
1791
- [ARM64] Configure DMA to bypass the IOMMU by default.
2035
+ [ARM64, X86] Configure DMA to bypass the IOMMU by default.
17922036 Format: { "0" | "1" }
17932037 0 - Use IOMMU translation for DMA.
17942038 1 - Bypass the IOMMU for DMA.
1795
- unset - Use IOMMU translation for DMA.
2039
+ unset - Use value of CONFIG_IOMMU_DEFAULT_PASSTHROUGH.
17962040
1797
- io7= [HW] IO7 for Marvel based alpha systems
2041
+ io7= [HW] IO7 for Marvel-based Alpha systems
17982042 See comment before marvel_specify_io7 in
17992043 arch/alpha/kernel/core_marvel.c.
18002044
....@@ -1809,7 +2053,10 @@
18092053 No delay
18102054
18112055 ip= [IP_PNP]
1812
- See Documentation/filesystems/nfs/nfsroot.txt.
2056
+ See Documentation/admin-guide/nfs/nfsroot.rst.
2057
+
2058
+ ipcmni_extend [KNL] Extend the maximum number of unique System V
2059
+ IPC identifiers from 32,768 to 16,777,216.
18132060
18142061 irqaffinity= [SMP] Set the default irq affinity mask
18152062 The argument is a cpu list, as described above.
....@@ -1828,6 +2075,11 @@
18282075 that use the kernel as a bootloader, and thus want
18292076 to let secondary kernels in charge of setting up
18302077 LPIs.
2078
+
2079
+ irqchip.gicv3_pseudo_nmi= [ARM64]
2080
+ Enables support for pseudo-NMIs in the kernel. This
2081
+ requires the kernel to be built with
2082
+ CONFIG_ARM64_PSEUDO_NMI.
18312083
18322084 irqfixup [HW]
18332085 When an interrupt is not handled search all handlers
....@@ -1878,32 +2130,87 @@
18782130 <cpu number> begins at 0 and the maximum value is
18792131 "number of CPUs in system - 1".
18802132
2133
+ managed_irq
2134
+
2135
+ Isolate from being targeted by managed interrupts
2136
+ which have an interrupt mask containing isolated
2137
+ CPUs. The affinity of managed interrupts is
2138
+ handled by the kernel and cannot be changed via
2139
+ the /proc/irq/* interfaces.
2140
+
2141
+ This isolation is best effort and only effective
2142
+ if the automatically assigned interrupt mask of a
2143
+ device queue contains isolated and housekeeping
2144
+ CPUs. If housekeeping CPUs are online then such
2145
+ interrupts are directed to the housekeeping CPU
2146
+ so that IO submitted on the housekeeping CPU
2147
+ cannot disturb the isolated CPU.
2148
+
2149
+ If a queue's affinity mask contains only isolated
2150
+ CPUs then this parameter has no effect on the
2151
+ interrupt routing decision, though interrupts are
2152
+ only delivered when tasks running on those
2153
+ isolated CPUs submit IO. IO submitted on
2154
+ housekeeping CPUs has no influence on those
2155
+ queues.
2156
+
18812157 The format of <cpu-list> is described above.
1882
-
1883
-
18842158
18852159 iucv= [HW,NET]
18862160
1887
- ivrs_ioapic [HW,X86_64]
2161
+ ivrs_ioapic [HW,X86-64]
18882162 Provide an override to the IOAPIC-ID<->DEVICE-ID
1889
- mapping provided in the IVRS ACPI table. For
1890
- example, to map IOAPIC-ID decimal 10 to
1891
- PCI device 00:14.0 write the parameter as:
2163
+ mapping provided in the IVRS ACPI table.
2164
+ By default, PCI segment is 0, and can be omitted.
2165
+
2166
+ For example, to map IOAPIC-ID decimal 10 to
2167
+ PCI segment 0x1 and PCI device 00:14.0,
2168
+ write the parameter as:
2169
+ ivrs_ioapic=10@0001:00:14.0
2170
+
2171
+ Deprecated formats:
2172
+ * To map IOAPIC-ID decimal 10 to PCI device 00:14.0
2173
+ write the parameter as:
18922174 ivrs_ioapic[10]=00:14.0
2175
+ * To map IOAPIC-ID decimal 10 to PCI segment 0x1 and
2176
+ PCI device 00:14.0 write the parameter as:
2177
+ ivrs_ioapic[10]=0001:00:14.0
18932178
1894
- ivrs_hpet [HW,X86_64]
2179
+ ivrs_hpet [HW,X86-64]
18952180 Provide an override to the HPET-ID<->DEVICE-ID
1896
- mapping provided in the IVRS ACPI table. For
1897
- example, to map HPET-ID decimal 0 to
1898
- PCI device 00:14.0 write the parameter as:
1899
- ivrs_hpet[0]=00:14.0
2181
+ mapping provided in the IVRS ACPI table.
2182
+ By default, PCI segment is 0, and can be omitted.
19002183
1901
- ivrs_acpihid [HW,X86_64]
2184
+ For example, to map HPET-ID decimal 10 to
2185
+ PCI segment 0x1 and PCI device 00:14.0,
2186
+ write the parameter as:
2187
+ ivrs_hpet=10@0001:00:14.0
2188
+
2189
+ Deprecated formats:
2190
+ * To map HPET-ID decimal 0 to PCI device 00:14.0
2191
+ write the parameter as:
2192
+ ivrs_hpet[0]=00:14.0
2193
+ * To map HPET-ID decimal 10 to PCI segment 0x1 and
2194
+ PCI device 00:14.0 write the parameter as:
2195
+ ivrs_ioapic[10]=0001:00:14.0
2196
+
2197
+ ivrs_acpihid [HW,X86-64]
19022198 Provide an override to the ACPI-HID:UID<->DEVICE-ID
1903
- mapping provided in the IVRS ACPI table. For
1904
- example, to map UART-HID:UID AMD0020:0 to
1905
- PCI device 00:14.5 write the parameter as:
2199
+ mapping provided in the IVRS ACPI table.
2200
+ By default, PCI segment is 0, and can be omitted.
2201
+
2202
+ For example, to map UART-HID:UID AMD0020:0 to
2203
+ PCI segment 0x1 and PCI device ID 00:14.5,
2204
+ write the parameter as:
2205
+ ivrs_acpihid=AMD0020:0@0001:00:14.5
2206
+
2207
+ Deprecated formats:
2208
+ * To map UART-HID:UID AMD0020:0 to PCI segment is 0,
2209
+ PCI device ID 00:14.5, write the parameter as:
19062210 ivrs_acpihid[00:14.5]=AMD0020:0
2211
+ * To map UART-HID:UID AMD0020:0 to PCI segment 0x1 and
2212
+ PCI device ID 00:14.5, write the parameter as:
2213
+ ivrs_acpihid[0001:00:14.5]=AMD0020:0
19072214
19082215 js= [HW,JOY] Analog joystick
19092216 See Documentation/input/joydev/joystick.rst.
....@@ -1967,10 +2274,25 @@
19672274 kms, kbd format: kms,kbd
19682275 kms, kbd and serial format: kms,kbd,<ser_dev>[,baud]
19692276
2277
+ kgdboc_earlycon= [KGDB,HW]
2278
+ If the boot console provides the ability to read
2279
+ characters and can work in polling mode, you can use
2280
+ this parameter to tell kgdb to use it as a backend
2281
+ until the normal console is registered. Intended to
2282
+ be used together with the kgdboc parameter which
2283
+ specifies the normal console to transition to.
2284
+
2285
+ The name of the early console should be specified
2286
+ as the value of this parameter. Note that the name of
2287
+ the early console might be different than the tty
2288
+ name passed to kgdboc. It's OK to leave the value
2289
+ blank and the first boot console that implements
2290
+ read() will be picked.
2291
+
19702292 kgdbwait [KGDB] Stop kernel execution and enter the
19712293 kernel debugger at the earliest opportunity.
19722294
1973
- kmac= [MIPS] korina ethernet MAC address.
2295
+ kmac= [MIPS] Korina ethernet MAC address.
19742296 Configure the RouterBoard 532 series on-chip
19752297 Ethernet adapter MAC address.
19762298
....@@ -1979,6 +2301,19 @@
19792301 Default: on
19802302 Built with CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y,
19812303 the default is off.
2304
+
2305
+ kprobe_event=[probe-list]
2306
+ [FTRACE] Add kprobe events and enable at boot time.
2307
+ The probe-list is a semicolon delimited list of probe
2308
+ definitions. Each definition is same as kprobe_events
2309
+ interface, but the parameters are comma delimited.
2310
+ For example, to add a kprobe event on vfs_read with
2311
+ arg1 and arg2, add to the command line;
2312
+
2313
+ kprobe_event=p,vfs_read,$arg1,$arg2
2314
+
2315
+ See also Documentation/trace/kprobetrace.rst "Kernel
2316
+ Boot Parameter" section.
19822317
19832318 kpti= [ARM64] Control page table isolation of user
19842319 and kernel address spaces.
....@@ -2022,6 +2357,21 @@
20222357 for all guests.
20232358 Default is 1 (enabled) if in 64-bit or 32-bit PAE mode.
20242359
2360
+ kvm-arm.mode=
2361
+ [KVM,ARM] Select one of KVM/arm64's modes of operation.
2362
+
2363
+ none: Forcefully disable KVM.
2364
+
2365
+ nvhe: Standard nVHE-based mode, without support for
2366
+ protected guests.
2367
+
2368
+ protected: nVHE-based mode with support for guests whose
2369
+ state is kept private from the host.
2370
+ Not valid if the kernel is running in EL2.
2371
+
2372
+ Defaults to VHE/nVHE based on hardware support and
2373
+ the value of CONFIG_ARM64_VHE.
2374
+
20252375 kvm-arm.vgic_v3_group0_trap=
20262376 [KVM,ARM] Trap guest accesses to GICv3 group-0
20272377 system registers
....@@ -2037,6 +2387,14 @@
20372387 kvm-arm.vgic_v4_enable=
20382388 [KVM,ARM] Allow use of GICv4 for direct injection of
20392389 LPIs.
2390
+
2391
+ kvm_cma_resv_ratio=n [PPC]
2392
+ Reserves given percentage from system memory area for
2393
+ contiguous memory allocation for KVM hash pagetable
2394
+ allocation.
2395
+ By default it reserves 5% of total system memory.
2396
+ Format: <integer>
2397
+ Default: 5
20402398
20412399 kvm-intel.ept= [KVM,Intel] Disable extended page tables
20422400 (virtualized MMU) support on capable Intel chips.
....@@ -2151,9 +2509,10 @@
21512509 lapic [X86-32,APIC] Enable the local APIC even if BIOS
21522510 disabled it.
21532511
2154
- lapic= [x86,APIC] "notscdeadline" Do not use TSC deadline
2512
+ lapic= [X86,APIC] Do not use TSC deadline
21552513 value for LAPIC timer one-shot implementation. Default
21562514 back to the programmable timer unit in the LAPIC.
2515
+ Format: notscdeadline
21572516
21582517 lapic_timer_c2_ok [X86,APIC] trust the local apic timer
21592518 in C2 power state.
....@@ -2225,8 +2584,13 @@
22252584
22262585 memblock=debug [KNL] Enable memblock debug messages.
22272586
2228
- load_ramdisk= [RAM] List of ramdisks to load from floppy
2229
- See Documentation/blockdev/ramdisk.txt.
2587
+ android12_only.will_be_removed_soon.memblock_nomap_remove= [KNL]
2588
+ Setting this to true through kernel command line will
2589
+ call memblock_remove on the regions marked with no-map
2590
+ property thereby saving memory by removing page structs
2591
+ for those regions. By default this is set to false.
2592
+
2593
+ load_ramdisk= [RAM] [Deprecated]
22302594
22312595 lockd.nlm_grace_period=P [NFS] Assign grace period.
22322596 Format: <integer>
....@@ -2239,6 +2603,15 @@
22392603
22402604 lockd.nlm_udpport=M [NFS] Assign UDP port.
22412605 Format: <integer>
2606
+
2607
+ lockdown= [SECURITY]
2608
+ { integrity | confidentiality }
2609
+ Enable the kernel lockdown feature. If set to
2610
+ integrity, kernel features that allow userland to
2611
+ modify the running kernel are disabled. If set to
2612
+ confidentiality, kernel features that allow userland
2613
+ to extract confidential information from the kernel
2614
+ are also disabled.
22422615
22432616 locktorture.nreaders_stress= [KNL]
22442617 Set the number of locking read-acquisition kthreads.
....@@ -2344,12 +2717,18 @@
23442717 ltpc= [NET]
23452718 Format: <io>,<irq>,<dma>
23462719
2720
+ lsm.debug [SECURITY] Enable LSM initialization debugging output.
2721
+
2722
+ lsm=lsm1,...,lsmN
2723
+ [SECURITY] Choose order of LSM initialization. This
2724
+ overrides CONFIG_LSM, and the "security=" parameter.
2725
+
23472726 machvec= [IA-64] Force the use of a particular machine-vector
23482727 (machvec) in a generic kernel.
2349
- Example: machvec=hpzx1_swiotlb
2728
+ Example: machvec=hpzx1
23502729
2351
- machtype= [Loongson] Share the same kernel image file between different
2352
- yeeloong laptop.
2730
+ machtype= [Loongson] Share the same kernel image file between
2731
+ different yeeloong laptops.
23532732 Example: machtype=lemote-yeeloong-2f-7inch
23542733
23552734 max_addr=nn[KMG] [KNL,BOOT,ia64] All physical memory greater
....@@ -2373,7 +2752,7 @@
23732752
23742753 mce [X86-32] Machine Check Exception
23752754
2376
- mce=option [X86-64] See Documentation/x86/x86_64/boot-options.txt
2755
+ mce=option [X86-64] See Documentation/x86/x86_64/boot-options.rst
23772756
23782757 md= [HW] RAID subsystems devices and level
23792758 See Documentation/admin-guide/md.rst.
....@@ -2415,12 +2794,21 @@
24152794 For details see: Documentation/admin-guide/hw-vuln/mds.rst
24162795
24172796 mem=nn[KMG] [KNL,BOOT] Force usage of a specific amount of memory
2418
- Amount of memory to be used when the kernel is not able
2419
- to see the whole system memory or for test.
2797
+ Amount of memory to be used in cases as follows:
2798
+
2799
+ 1 for test;
2800
+ 2 when the kernel is not able to see the whole system memory;
2801
+ 3 memory that lies after 'mem=' boundary is excluded from
2802
+ the hypervisor, then assigned to KVM guests.
2803
+
24202804 [X86] Work as limiting max address. Use together
24212805 with memmap= to avoid physical address space collisions.
24222806 Without memmap= PCI devices could be placed at addresses
24232807 belonging to unused RAM.
2808
+
2809
+ Note that this only takes effects during boot time since
2810
+ in above case 3, memory may need be hot added after boot
2811
+ if system memory of hypervisor is not sufficient.
24242812
24252813 mem=nopentium [BUGS=X86-32] Disable usage of 4MB pages for kernel
24262814 memory.
....@@ -2435,7 +2823,7 @@
24352823 set according to the
24362824 CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE kernel config
24372825 option.
2438
- See Documentation/memory-hotplug.txt.
2826
+ See Documentation/admin-guide/mm/memory-hotplug.rst.
24392827
24402828 memmap=exactmap [KNL,X86] Enable setting of an exact
24412829 E820 memory map, as specified by the user.
....@@ -2506,7 +2894,7 @@
25062894 seconds. Use this parameter to check at some
25072895 other rate. 0 disables periodic checking.
25082896
2509
- memtest= [KNL,X86,ARM] Enable memtest
2897
+ memtest= [KNL,X86,ARM,PPC] Enable memtest
25102898 Format: <integer>
25112899 default : 0 <disable>
25122900 Specifies the number of memtest passes to be
....@@ -2524,7 +2912,7 @@
25242912 mem_encrypt=on: Activate SME
25252913 mem_encrypt=off: Do not activate SME
25262914
2527
- Refer to Documentation/x86/amd-memory-encryption.txt
2915
+ Refer to Documentation/virt/kvm/amd-memory-encryption.rst
25282916 for details on when memory encryption can be activated.
25292917
25302918 mem_sleep_default= [SUSPEND] Default system suspend mode:
....@@ -2534,7 +2922,7 @@
25342922 See Documentation/admin-guide/pm/sleep-states.rst.
25352923
25362924 meye.*= [HW] Set MotionEye Camera parameters
2537
- See Documentation/media/v4l-drivers/meye.rst.
2925
+ See Documentation/admin-guide/media/meye.rst.
25382926
25392927 mfgpt_irq= [IA-32] Specify the IRQ to use for the
25402928 Multi-Function General Purpose Timers on AMD Geode
....@@ -2569,7 +2957,7 @@
25692957 touchscreen support is not enabled in the mainstream
25702958 kernel as of 2.6.30, a preliminary port can be found
25712959 in the "bleeding edge" mini2440 support kernel at
2572
- http://repo.or.cz/w/linux-2.6/mini2440.git
2960
+ https://repo.or.cz/w/linux-2.6/mini2440.git
25732961
25742962 mitigations=
25752963 [X86,PPC,S390,ARM64] Control optional mitigations for
....@@ -2581,21 +2969,23 @@
25812969 Disable all optional CPU mitigations. This
25822970 improves system performance, but it may also
25832971 expose users to several CPU vulnerabilities.
2584
- Equivalent to: nopti [X86,PPC]
2972
+ Equivalent to: gather_data_sampling=off [X86]
25852973 kpti=0 [ARM64]
2586
- nospectre_v1 [PPC]
2587
- nobp=0 [S390]
2588
- nospectre_v1 [X86]
2589
- nospectre_v2 [X86,PPC,S390,ARM64]
2590
- spectre_v2_user=off [X86]
2591
- spec_store_bypass_disable=off [X86,PPC]
2592
- ssbd=force-off [ARM64]
2974
+ kvm.nx_huge_pages=off [X86]
25932975 l1tf=off [X86]
25942976 mds=off [X86]
2595
- tsx_async_abort=off [X86]
2596
- kvm.nx_huge_pages=off [X86]
2977
+ mmio_stale_data=off [X86]
25972978 no_entry_flush [PPC]
25982979 no_uaccess_flush [PPC]
2980
+ nobp=0 [S390]
2981
+ nopti [X86,PPC]
2982
+ nospectre_v1 [X86,PPC]
2983
+ nospectre_v2 [X86,PPC,S390,ARM64]
2984
+ retbleed=off [X86]
2985
+ spec_store_bypass_disable=off [X86,PPC]
2986
+ spectre_v2_user=off [X86]
2987
+ ssbd=force-off [ARM64]
2988
+ tsx_async_abort=off [X86]
25992989
26002990 Exceptions:
26012991 This does not have any effect on
....@@ -2617,6 +3007,8 @@
26173007 Equivalent to: l1tf=flush,nosmt [X86]
26183008 mds=full,nosmt [X86]
26193009 tsx_async_abort=full,nosmt [X86]
3010
+ mmio_stale_data=full,nosmt [X86]
3011
+ retbleed=auto,nosmt [X86]
26203012
26213013 mminit_loglevel=
26223014 [KNL] When CONFIG_DEBUG_MEMORY_INIT is set, this
....@@ -2625,6 +3017,40 @@
26253017 of 0 disables mminit logging and a level of 4 will
26263018 log everything. Information is printed at KERN_DEBUG
26273019 so loglevel=8 may also need to be specified.
3020
+
3021
+ mmio_stale_data=
3022
+ [X86,INTEL] Control mitigation for the Processor
3023
+ MMIO Stale Data vulnerabilities.
3024
+
3025
+ Processor MMIO Stale Data is a class of
3026
+ vulnerabilities that may expose data after an MMIO
3027
+ operation. Exposed data could originate or end in
3028
+ the same CPU buffers as affected by MDS and TAA.
3029
+ Therefore, similar to MDS and TAA, the mitigation
3030
+ is to clear the affected CPU buffers.
3031
+
3032
+ This parameter controls the mitigation. The
3033
+ options are:
3034
+
3035
+ full - Enable mitigation on vulnerable CPUs
3036
+
3037
+ full,nosmt - Enable mitigation and disable SMT on
3038
+ vulnerable CPUs.
3039
+
3040
+ off - Unconditionally disable mitigation
3041
+
3042
+ On MDS or TAA affected machines,
3043
+ mmio_stale_data=off can be prevented by an active
3044
+ MDS or TAA mitigation as these vulnerabilities are
3045
+ mitigated with the same mechanism so in order to
3046
+ disable this mitigation, you need to specify
3047
+ mds=off and tsx_async_abort=off too.
3048
+
3049
+ Not specifying this option is equivalent to
3050
+ mmio_stale_data=full.
3051
+
3052
+ For details see:
3053
+ Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst
26283054
26293055 module.sig_enforce
26303056 [KNL] When CONFIG_MODULE_SIG is set, this means that
....@@ -2670,11 +3096,31 @@
26703096 <name>,<region-number>[,<base>,<size>,<buswidth>,<altbuswidth>]
26713097
26723098 mtdparts= [MTD]
2673
- See drivers/mtd/cmdlinepart.c.
3099
+ See drivers/mtd/parsers/cmdlinepart.c
26743100
26753101 multitce=off [PPC] This parameter disables the use of the pSeries
26763102 firmware feature for updating multiple TCE entries
26773103 at a time.
3104
+
3105
+ kswapd_per_node=
3106
+ kswapd_per_node allows you to control the number of kswapd threads
3107
+ running on the system. This provides the ability to devote additional
3108
+ CPU resources toward proactive page replacement with the goal of
3109
+ reducing direct reclaims. When direct reclaims are prevented, the CPU
3110
+ consumed by them is prevented as well. Depending on the workload, the
3111
+ result can cause aggregate CPU usage on the system to go up, down or
3112
+ stay the same.
3113
+
3114
+ More aggressive page replacement can reduce direct reclaims which
3115
+ cause latency for tasks and decrease throughput when doing filesystem
3116
+ IO through the pagecache. Direct reclaims are recorded using the
3117
+ allocstall counter in /proc/vmstat.
3118
+
3119
+ The range of acceptible values are 1-16. Always start with lower
3120
+ values in the 2-6 range. Higher values should be justified with
3121
+ testing. If direct reclaims occur in spite of high values, the cost
3122
+ of direct reclaims (in latency) that occur can be higher due to
3123
+ increased lock contention.
26783124
26793125 onenand.bdry= [HW,MTD] Flex-OneNAND Boundary Configuration
26803126
....@@ -2728,13 +3174,13 @@
27283174 Default value is 0.
27293175
27303176 nfsaddrs= [NFS] Deprecated. Use ip= instead.
2731
- See Documentation/filesystems/nfs/nfsroot.txt.
3177
+ See Documentation/admin-guide/nfs/nfsroot.rst.
27323178
27333179 nfsroot= [NFS] nfs root filesystem for disk-less boxes.
2734
- See Documentation/filesystems/nfs/nfsroot.txt.
3180
+ See Documentation/admin-guide/nfs/nfsroot.rst.
27353181
27363182 nfsrootdebug [NFS] enable nfsroot debugging messages.
2737
- See Documentation/filesystems/nfs/nfsroot.txt.
3183
+ See Documentation/admin-guide/nfs/nfsroot.rst.
27383184
27393185 nfs.callback_nr_threads=
27403186 [NFSv4] set the total number of threads that the
....@@ -2833,6 +3279,10 @@
28333279 and gids from such clients. This is intended to ease
28343280 migration from NFSv2/v3.
28353281
3282
+ nmi_backtrace.backtrace_idle [KNL]
3283
+ Dump stacks even of idle CPUs in response to an
3284
+ NMI stack-backtrace request.
3285
+
28363286 nmi_debug= [KNL,SH] Specify one or more actions to take
28373287 when a NMI is triggered.
28383288 Format: [state][,regs][,debounce][,die]
....@@ -2843,8 +3293,9 @@
28433293 0 - turn hardlockup detector in nmi_watchdog off
28443294 1 - turn hardlockup detector in nmi_watchdog on
28453295 When panic is specified, panic when an NMI watchdog
2846
- timeout occurs (or 'nopanic' to override the opposite
2847
- default). To disable both hard and soft lockup detectors,
3296
+ timeout occurs (or 'nopanic' to not panic on an NMI
3297
+ watchdog, if CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is set)
3298
+ To disable both hard and soft lockup detectors,
28483299 please see 'nowatchdog'.
28493300 This is useful when you use a panic=... timeout and
28503301 need the box quickly up again.
....@@ -2864,6 +3315,8 @@
28643315 no5lvl [X86-64] Disable 5-level paging mode. Forces
28653316 kernel to use 4-level paging instead.
28663317
3318
+ nofsgsbase [X86] Disables FSGSBASE instructions.
3319
+
28673320 no_console_suspend
28683321 [HW] Never suspend the console
28693322 Disable suspending of consoles during suspend and
....@@ -2878,6 +3331,17 @@
28783331 it. Users could use console_suspend (usually
28793332 /sys/module/printk/parameters/console_suspend) to
28803333 turn on/off it dynamically.
3334
+
3335
+ novmcoredd [KNL,KDUMP]
3336
+ Disable device dump. Device dump allows drivers to
3337
+ append dump data to vmcore so you can collect driver
3338
+ specified debug info. Drivers can append the data
3339
+ without any limit and this data is stored in memory,
3340
+ so this may cause significant memory stress. Disabling
3341
+ device dump can help save memory but the driver debug
3342
+ data will be no longer available. This parameter
3343
+ is only available when CONFIG_PROC_VMCORE_DEVICE_DUMP
3344
+ is set.
28813345
28823346 noaliencache [MM, NUMA, SLAB] Disables the allocation of alien
28833347 caches in the slab allocator. Saves per-node memory,
....@@ -2915,11 +3379,11 @@
29153379 noexec=on: enable non-executable mappings (default)
29163380 noexec=off: disable non-executable mappings
29173381
2918
- nosmap [X86]
3382
+ nosmap [X86,PPC]
29193383 Disable SMAP (Supervisor Mode Access Prevention)
29203384 even if it is supported by processor.
29213385
2922
- nosmep [X86]
3386
+ nosmep [X86,PPC]
29233387 Disable SMEP (Supervisor Mode Execution Prevention)
29243388 even if it is supported by processor.
29253389
....@@ -2936,18 +3400,18 @@
29363400 register save and restore. The kernel will only save
29373401 legacy floating-point registers on task switch.
29383402
2939
- nohugeiomap [KNL,x86] Disable kernel huge I/O mappings.
3403
+ nohugeiomap [KNL,X86,PPC,ARM64] Disable kernel huge I/O mappings.
29403404
29413405 nosmt [KNL,S390] Disable symmetric multithreading (SMT).
29423406 Equivalent to smt=1.
29433407
2944
- [KNL,x86] Disable symmetric multithreading (SMT).
3408
+ [KNL,X86] Disable symmetric multithreading (SMT).
29453409 nosmt=force: Force disable SMT, cannot be undone
29463410 via the sysfs control file.
29473411
2948
- nospectre_v1 [X66, PPC] Disable mitigations for Spectre Variant 1
2949
- (bounds check bypass). With this option data leaks
2950
- are possible in the system.
3412
+ nospectre_v1 [X86,PPC] Disable mitigations for Spectre Variant 1
3413
+ (bounds check bypass). With this option data leaks are
3414
+ possible in the system.
29513415
29523416 nospectre_v2 [X86,PPC_FSL_BOOK3E,ARM64] Disable all mitigations for
29533417 the Spectre variant 2 (indirect branch prediction)
....@@ -2993,6 +3457,20 @@
29933457 interrupt wake-up latency, which may improve performance
29943458 in certain environments such as networked servers or
29953459 real-time systems.
3460
+
3461
+ no_hash_pointers
3462
+ Force pointers printed to the console or buffers to be
3463
+ unhashed. By default, when a pointer is printed via %p
3464
+ format string, that pointer is "hashed", i.e. obscured
3465
+ by hashing the pointer value. This is a security feature
3466
+ that hides actual kernel addresses from unprivileged
3467
+ users, but it also makes debugging the kernel more
3468
+ difficult since unequal pointers can no longer be
3469
+ compared. However, if this command-line option is
3470
+ specified, then all normal pointers will have their true
3471
+ value printed. This option should only be specified when
3472
+ debugging the kernel. Please do not use on production
3473
+ kernels.
29963474
29973475 nohibernate [HIBERNATION] Disable hibernation and resume.
29983476
....@@ -3042,9 +3520,9 @@
30423520 [X86,PV_OPS] Disable paravirtualized VMware scheduler
30433521 clock and use the default one.
30443522
3045
- no-steal-acc [X86,KVM] Disable paravirtualized steal time accounting.
3046
- steal time is computed, but won't influence scheduler
3047
- behaviour
3523
+ no-steal-acc [X86,PV_OPS,ARM64] Disable paravirtualized steal time
3524
+ accounting. steal time is computed, but won't
3525
+ influence scheduler behaviour
30483526
30493527 nolapic [X86-32,APIC] Do not enable or use the local APIC.
30503528
....@@ -3151,16 +3629,10 @@
31513629 numa_zonelist_order= [KNL, BOOT] Select zonelist order for NUMA.
31523630 'node', 'default' can be specified
31533631 This can be set from sysctl after boot.
3154
- See Documentation/sysctl/vm.txt for details.
3155
-
3156
- of_devlink [OF, KNL] Create device links between consumer and
3157
- supplier devices by scanning the devictree to infer the
3158
- consumer/supplier relationships. A consumer device
3159
- will not be probed until all the supplier devices have
3160
- probed successfully.
3632
+ See Documentation/admin-guide/sysctl/vm.rst for details.
31613633
31623634 ohci1394_dma=early [HW] enable debugging via the ohci1394 driver.
3163
- See Documentation/debugging-via-ohci1394.txt for more
3635
+ See Documentation/core-api/debugging-via-ohci1394.rst for more
31643636 info.
31653637
31663638 olpc_ec_timeout= [OLPC] ms delay when issuing EC commands
....@@ -3195,6 +3667,16 @@
31953667 This will also cause panics on machine check exceptions.
31963668 Useful together with panic=30 to trigger a reboot.
31973669
3670
+ page_alloc.shuffle=
3671
+ [KNL] Boolean flag to control whether the page allocator
3672
+ should randomize its free lists. The randomization may
3673
+ be automatically enabled if the kernel detects it is
3674
+ running on a platform with a direct-mapped memory-side
3675
+ cache, and this parameter can be used to
3676
+ override/disable that behavior. The state of the flag
3677
+ can be read from sysfs at:
3678
+ /sys/module/page_alloc/parameters/shuffle.
3679
+
31983680 page_owner= [KNL] Boot-time page_owner enabling option.
31993681 Storage of the information about who allocated
32003682 each page is disabled in default. With this switch,
....@@ -3213,8 +3695,36 @@
32133695 timeout < 0: reboot immediately
32143696 Format: <timeout>
32153697
3698
+ panic_print= Bitmask for printing system info when panic happens.
3699
+ User can chose combination of the following bits:
3700
+ bit 0: print all tasks info
3701
+ bit 1: print system memory info
3702
+ bit 2: print timer info
3703
+ bit 3: print locks info if CONFIG_LOCKDEP is on
3704
+ bit 4: print ftrace buffer
3705
+ bit 5: print all printk messages in buffer
3706
+
3707
+ panic_on_taint= Bitmask for conditionally calling panic() in add_taint()
3708
+ Format: <hex>[,nousertaint]
3709
+ Hexadecimal bitmask representing the set of TAINT flags
3710
+ that will cause the kernel to panic when add_taint() is
3711
+ called with any of the flags in this set.
3712
+ The optional switch "nousertaint" can be utilized to
3713
+ prevent userspace forced crashes by writing to sysctl
3714
+ /proc/sys/kernel/tainted any flagset matching with the
3715
+ bitmask set on panic_on_taint.
3716
+ See Documentation/admin-guide/tainted-kernels.rst for
3717
+ extra details on the taint flags that users can pick
3718
+ to compose the bitmask to assign to panic_on_taint.
3719
+
32163720 panic_on_warn panic() instead of WARN(). Useful to cause kdump
32173721 on a WARN().
3722
+
3723
+ pelt= [KNL] Boot-time parameter changing the PELT half life in ms
3724
+ Format: <int>
3725
+ 32: Set the half life to 32ms
3726
+ 8: Set the half life to 8ms
3727
+ default: 32
32183728
32193729 crash_kexec_post_notifiers
32203730 Run kdump after running panic-notifiers and dumping
....@@ -3262,7 +3772,7 @@
32623772
32633773 pcd. [PARIDE]
32643774 See header of drivers/block/paride/pcd.c.
3265
- See also Documentation/blockdev/paride.txt.
3775
+ See also Documentation/admin-guide/blockdev/paride.rst.
32663776
32673777 pci=option[,option...] [PCI] various PCI subsystem options.
32683778
....@@ -3422,12 +3932,13 @@
34223932 specify the device is described above.
34233933 If <order of align> is not specified,
34243934 PAGE_SIZE is used as alignment.
3425
- PCI-PCI bridge can be specified, if resource
3935
+ A PCI-PCI bridge can be specified if resource
34263936 windows need to be expanded.
34273937 To specify the alignment for several
34283938 instances of a device, the PCI vendor,
34293939 device, subvendor, and subdevice may be
3430
- specified, e.g., 4096@pci:8086:9c22:103c:198f
3940
+ specified, e.g., 12@pci:8086:9c22:103c:198f
3941
+ for 4096-byte alignment.
34313942 ecrc= Enable/disable PCIe ECRC (transaction layer
34323943 end-to-end CRC checking).
34333944 bios: Use BIOS/firmware settings. This is the
....@@ -3437,8 +3948,15 @@
34373948 hpiosize=nn[KMG] The fixed amount of bus space which is
34383949 reserved for hotplug bridge's IO window.
34393950 Default size is 256 bytes.
3951
+ hpmmiosize=nn[KMG] The fixed amount of bus space which is
3952
+ reserved for hotplug bridge's MMIO window.
3953
+ Default size is 2 megabytes.
3954
+ hpmmioprefsize=nn[KMG] The fixed amount of bus space which is
3955
+ reserved for hotplug bridge's MMIO_PREF window.
3956
+ Default size is 2 megabytes.
34403957 hpmemsize=nn[KMG] The fixed amount of bus space which is
3441
- reserved for hotplug bridge's memory window.
3958
+ reserved for hotplug bridge's MMIO and
3959
+ MMIO_PREF window.
34423960 Default size is 2 megabytes.
34433961 hpbussize=nn The minimum amount of additional bus numbers
34443962 reserved for buses below a hotplug bridge.
....@@ -3471,6 +3989,10 @@
34713989 bridges without forcing it upstream. Note:
34723990 this removes isolation between devices and
34733991 may put more devices in an IOMMU group.
3992
+ force_floating [S390] Force usage of floating interrupts.
3993
+ nomio [S390] Do not use MIO instructions.
3994
+ norid [S390] ignore the RID field and force use of
3995
+ one PCI domain per PCI function
34743996
34753997 pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power
34763998 Management.
....@@ -3483,6 +4005,8 @@
34834005 even if the platform doesn't give the OS permission to
34844006 use them. This may cause conflicts if the platform
34854007 also tries to use these services.
4008
+ dpc-native Use native PCIe service for DPC only. May
4009
+ cause conflicts if firmware uses AER or DPC.
34864010 compat Disable native PCIe services (PME, AER, DPC, PCIe
34874011 hotplug).
34884012
....@@ -3504,7 +4028,7 @@
35044028 needed on a platform with proper driver support.
35054029
35064030 pd. [PARIDE]
3507
- See Documentation/blockdev/paride.txt.
4031
+ See Documentation/admin-guide/blockdev/paride.rst.
35084032
35094033 pdcchassis= [PARISC,HW] Disable/Enable PDC Chassis Status codes at
35104034 boot time.
....@@ -3519,13 +4043,13 @@
35194043 and performance comparison.
35204044
35214045 pf. [PARIDE]
3522
- See Documentation/blockdev/paride.txt.
4046
+ See Documentation/admin-guide/blockdev/paride.rst.
35234047
35244048 pg. [PARIDE]
3525
- See Documentation/blockdev/paride.txt.
4049
+ See Documentation/admin-guide/blockdev/paride.rst.
35264050
35274051 pirq= [SMP,APIC] Manual mp-table setup
3528
- See Documentation/x86/i386/IO-APIC.txt.
4052
+ See Documentation/x86/i386/IO-APIC.rst.
35294053
35304054 plip= [PPT,NET] Parallel port network link
35314055 Format: { parport<nr> | timid | 0 }
....@@ -3534,6 +4058,9 @@
35344058 pmtmr= [X86] Manual setup of pmtmr I/O Port.
35354059 Override pmtimer IOPort with a hex value.
35364060 e.g. pmtmr=0x508
4061
+
4062
+ pm_debug_messages [SUSPEND,KNL]
4063
+ Enable suspend/resume debug messages during boot up.
35374064
35384065 pnp.debug=1 [PNP]
35394066 Enable PNP debug messages (depends on the
....@@ -3632,9 +4159,12 @@
36324159 Param: <number> - step/bucket size as a power of 2 for
36334160 statistical time based profiling.
36344161
3635
- prompt_ramdisk= [RAM] List of RAM disks to prompt for floppy disk
3636
- before loading.
3637
- See Documentation/blockdev/ramdisk.txt.
4162
+ prompt_ramdisk= [RAM] [Deprecated]
4163
+
4164
+ prot_virt= [S390] enable hosting protected virtual machines
4165
+ isolated from the hypervisor (if hardware supports
4166
+ that).
4167
+ Format: <bool>
36384168
36394169 psi= [KNL] Enable or disable pressure stall information
36404170 tracking.
....@@ -3656,9 +4186,9 @@
36564186 pstore.backend= Specify the name of the pstore backend to use
36574187
36584188 pt. [PARIDE]
3659
- See Documentation/blockdev/paride.txt.
4189
+ See Documentation/admin-guide/blockdev/paride.rst.
36604190
3661
- pti= [X86_64] Control Page Table Isolation of user and
4191
+ pti= [X86-64] Control Page Table Isolation of user and
36624192 kernel address spaces. Disabling this feature
36634193 removes hardening, but improves performance of
36644194 system calls and interrupts.
....@@ -3670,7 +4200,7 @@
36704200
36714201 Not specifying this option is equivalent to pti=auto.
36724202
3673
- nopti [X86_64]
4203
+ nopti [X86-64]
36744204 Equivalent to pti=off
36754205
36764206 pty.legacy_count=
....@@ -3685,13 +4215,21 @@
36854215 See Documentation/admin-guide/md.rst.
36864216
36874217 ramdisk_size= [RAM] Sizes of RAM disks in kilobytes
3688
- See Documentation/blockdev/ramdisk.txt.
4218
+ See Documentation/admin-guide/blockdev/ramdisk.rst.
4219
+
4220
+ ramdisk_start= [RAM] RAM disk image start address
36894221
36904222 random.trust_cpu={on,off}
36914223 [KNL] Enable or disable trusting the use of the
36924224 CPU's random number generator (if available) to
36934225 fully seed the kernel's CRNG. Default is controlled
36944226 by CONFIG_RANDOM_TRUST_CPU.
4227
+
4228
+ random.trust_bootloader={on,off}
4229
+ [KNL] Enable or disable trusting the use of a
4230
+ seed passed by the bootloader (if available) to
4231
+ fully seed the kernel's CRNG. Default is controlled
4232
+ by CONFIG_RANDOM_TRUST_BOOTLOADER.
36954233
36964234 ras=option[,option,...] [KNL] RAS-specific options
36974235
....@@ -3700,18 +4238,20 @@
37004238 see CONFIG_RAS_CEC help text.
37014239
37024240 rcu_nocbs= [KNL]
3703
- The argument is a cpu list, as described above.
4241
+ The argument is a cpu list, as described above,
4242
+ except that the string "all" can be used to
4243
+ specify every CPU on the system.
37044244
37054245 In kernels built with CONFIG_RCU_NOCB_CPU=y, set
37064246 the specified list of CPUs to be no-callback CPUs.
3707
- Invocation of these CPUs' RCU callbacks will
3708
- be offloaded to "rcuox/N" kthreads created for
3709
- that purpose, where "x" is "b" for RCU-bh, "p"
3710
- for RCU-preempt, and "s" for RCU-sched, and "N"
3711
- is the CPU number. This reduces OS jitter on the
3712
- offloaded CPUs, which can be useful for HPC and
3713
- real-time workloads. It can also improve energy
3714
- efficiency for asymmetric multiprocessors.
4247
+ Invocation of these CPUs' RCU callbacks will be
4248
+ offloaded to "rcuox/N" kthreads created for that
4249
+ purpose, where "x" is "p" for RCU-preempt, and
4250
+ "s" for RCU-sched, and "N" is the CPU number.
4251
+ This reduces OS jitter on the offloaded CPUs,
4252
+ which can be useful for HPC and real-time
4253
+ workloads. It can also improve energy efficiency
4254
+ for asymmetric multiprocessors.
37154255
37164256 rcu_nocb_poll [KNL]
37174257 Rather than requiring that offloaded CPUs
....@@ -3747,6 +4287,12 @@
37474287 the propagation of recent CPU-hotplug changes up
37484288 the rcu_node combining tree.
37494289
4290
+ rcutree.use_softirq= [KNL]
4291
+ If set to zero, move all RCU_SOFTIRQ processing to
4292
+ per-CPU rcuc kthreads. Defaults to a non-zero
4293
+ value, meaning that RCU_SOFTIRQ is used by default.
4294
+ Specify rcutree.use_softirq=0 to use rcuc kthreads.
4295
+
37504296 rcutree.rcu_fanout_exact= [KNL]
37514297 Disable autobalancing of the rcu_node combining
37524298 tree. This is used by rcutorture, and might
....@@ -3761,11 +4307,13 @@
37614307 latencies, which will choose a value aligned
37624308 with the appropriate hardware boundaries.
37634309
3764
- rcutree.jiffies_till_sched_qs= [KNL]
3765
- Set required age in jiffies for a
3766
- given grace period before RCU starts
3767
- soliciting quiescent-state help from
3768
- rcu_note_context_switch().
4310
+ rcutree.rcu_min_cached_objs= [KNL]
4311
+ Minimum number of objects which are cached and
4312
+ maintained per one CPU. Object size is equal
4313
+ to PAGE_SIZE. The cache allows to reduce the
4314
+ pressure to page allocator, also it makes the
4315
+ whole algorithm to behave better in low memory
4316
+ condition.
37694317
37704318 rcutree.jiffies_till_first_fqs= [KNL]
37714319 Set delay from grace-period initialization to
....@@ -3778,6 +4326,20 @@
37784326 quiescent states. Units are jiffies, minimum
37794327 value is one, and maximum value is HZ.
37804328
4329
+ rcutree.jiffies_till_sched_qs= [KNL]
4330
+ Set required age in jiffies for a
4331
+ given grace period before RCU starts
4332
+ soliciting quiescent-state help from
4333
+ rcu_note_context_switch() and cond_resched().
4334
+ If not specified, the kernel will calculate
4335
+ a value based on the most recent settings
4336
+ of rcutree.jiffies_till_first_fqs
4337
+ and rcutree.jiffies_till_next_fqs.
4338
+ This calculated value may be viewed in
4339
+ rcutree.jiffies_to_sched_qs. Any attempt to set
4340
+ rcutree.jiffies_to_sched_qs will be cheerfully
4341
+ overwritten.
4342
+
37814343 rcutree.kthread_prio= [KNL,BOOT]
37824344 Set the SCHED_FIFO priority of the RCU per-CPU
37834345 kthreads (rcuc/N). This value is also used for
....@@ -3789,12 +4351,13 @@
37894351 RCU_BOOST is not set, valid values are 0-99 and
37904352 the default is zero (non-realtime operation).
37914353
3792
- rcutree.rcu_nocb_leader_stride= [KNL]
3793
- Set the number of NOCB kthread groups, which
3794
- defaults to the square root of the number of
3795
- CPUs. Larger numbers reduces the wakeup overhead
3796
- on the per-CPU grace-period kthreads, but increases
3797
- that same overhead on each group's leader.
4354
+ rcutree.rcu_nocb_gp_stride= [KNL]
4355
+ Set the number of NOCB callback kthreads in
4356
+ each group, which defaults to the square root
4357
+ of the number of CPUs. Larger numbers reduce
4358
+ the wakeup overhead on the global grace-period
4359
+ kthread, but increases that same overhead on
4360
+ each group's NOCB grace-period kthread.
37984361
37994362 rcutree.qhimark= [KNL]
38004363 Set threshold of queued RCU callbacks beyond which
....@@ -3803,6 +4366,15 @@
38034366 rcutree.qlowmark= [KNL]
38044367 Set threshold of queued RCU callbacks below which
38054368 batch limiting is re-enabled.
4369
+
4370
+ rcutree.qovld= [KNL]
4371
+ Set threshold of queued RCU callbacks beyond which
4372
+ RCU's force-quiescent-state scan will aggressively
4373
+ enlist help from cond_resched() and sched IPIs to
4374
+ help CPUs more quickly reach quiescent states.
4375
+ Set to less than zero to make this be set based
4376
+ on rcutree.qhimark at boot time and to zero to
4377
+ disable more aggressive help enlistment.
38064378
38074379 rcutree.rcu_idle_gp_delay= [KNL]
38084380 Set wakeup interval for idle CPUs that have
....@@ -3821,28 +4393,55 @@
38214393 This wake_up() will be accompanied by a
38224394 WARN_ONCE() splat and an ftrace_dump().
38234395
3824
- rcuperf.gp_async= [KNL]
4396
+ rcutree.rcu_unlock_delay= [KNL]
4397
+ In CONFIG_RCU_STRICT_GRACE_PERIOD=y kernels,
4398
+ this specifies an rcu_read_unlock()-time delay
4399
+ in microseconds. This defaults to zero.
4400
+ Larger delays increase the probability of
4401
+ catching RCU pointer leaks, that is, buggy use
4402
+ of RCU-protected pointers after the relevant
4403
+ rcu_read_unlock() has completed.
4404
+
4405
+ rcutree.sysrq_rcu= [KNL]
4406
+ Commandeer a sysrq key to dump out Tree RCU's
4407
+ rcu_node tree with an eye towards determining
4408
+ why a new grace period has not yet started.
4409
+
4410
+ rcuscale.gp_async= [KNL]
38254411 Measure performance of asynchronous
38264412 grace-period primitives such as call_rcu().
38274413
3828
- rcuperf.gp_async_max= [KNL]
4414
+ rcuscale.gp_async_max= [KNL]
38294415 Specify the maximum number of outstanding
38304416 callbacks per writer thread. When a writer
38314417 thread exceeds this limit, it invokes the
38324418 corresponding flavor of rcu_barrier() to allow
38334419 previously posted callbacks to drain.
38344420
3835
- rcuperf.gp_exp= [KNL]
4421
+ rcuscale.gp_exp= [KNL]
38364422 Measure performance of expedited synchronous
38374423 grace-period primitives.
38384424
3839
- rcuperf.holdoff= [KNL]
4425
+ rcuscale.holdoff= [KNL]
38404426 Set test-start holdoff period. The purpose of
38414427 this parameter is to delay the start of the
38424428 test until boot completes in order to avoid
38434429 interference.
38444430
3845
- rcuperf.nreaders= [KNL]
4431
+ rcuscale.kfree_rcu_test= [KNL]
4432
+ Set to measure performance of kfree_rcu() flooding.
4433
+
4434
+ rcuscale.kfree_nthreads= [KNL]
4435
+ The number of threads running loops of kfree_rcu().
4436
+
4437
+ rcuscale.kfree_alloc_num= [KNL]
4438
+ Number of allocations and frees done in an iteration.
4439
+
4440
+ rcuscale.kfree_loops= [KNL]
4441
+ Number of loops doing rcuscale.kfree_alloc_num number
4442
+ of allocations and frees.
4443
+
4444
+ rcuscale.nreaders= [KNL]
38464445 Set number of RCU readers. The value -1 selects
38474446 N, where N is the number of CPUs. A value
38484447 "n" less than -1 selects N-n+1, where N is again
....@@ -3851,44 +4450,26 @@
38514450 A value of "n" less than or equal to -N selects
38524451 a single reader.
38534452
3854
- rcuperf.nwriters= [KNL]
4453
+ rcuscale.nwriters= [KNL]
38554454 Set number of RCU writers. The values operate
3856
- the same as for rcuperf.nreaders.
4455
+ the same as for rcuscale.nreaders.
38574456 N, where N is the number of CPUs
38584457
3859
- rcuperf.perf_type= [KNL]
4458
+ rcuscale.perf_type= [KNL]
38604459 Specify the RCU implementation to test.
38614460
3862
- rcuperf.shutdown= [KNL]
4461
+ rcuscale.shutdown= [KNL]
38634462 Shut the system down after performance tests
38644463 complete. This is useful for hands-off automated
38654464 testing.
38664465
3867
- rcuperf.verbose= [KNL]
4466
+ rcuscale.verbose= [KNL]
38684467 Enable additional printk() statements.
38694468
3870
- rcuperf.writer_holdoff= [KNL]
4469
+ rcuscale.writer_holdoff= [KNL]
38714470 Write-side holdoff between grace periods,
38724471 in microseconds. The default of zero says
38734472 no holdoff.
3874
-
3875
- rcutorture.cbflood_inter_holdoff= [KNL]
3876
- Set holdoff time (jiffies) between successive
3877
- callback-flood tests.
3878
-
3879
- rcutorture.cbflood_intra_holdoff= [KNL]
3880
- Set holdoff time (jiffies) between successive
3881
- bursts of callbacks within a given callback-flood
3882
- test.
3883
-
3884
- rcutorture.cbflood_n_burst= [KNL]
3885
- Set the number of bursts making up a given
3886
- callback-flood test. Set this to zero to
3887
- disable callback-flood testing.
3888
-
3889
- rcutorture.cbflood_n_per_burst= [KNL]
3890
- Set the number of callbacks to be registered
3891
- in a given burst of a callback-flood test.
38924473
38934474 rcutorture.fqs_duration= [KNL]
38944475 Set duration of force_quiescent_state bursts
....@@ -3901,6 +4482,23 @@
39014482 rcutorture.fqs_stutter= [KNL]
39024483 Set wait time between force_quiescent_state bursts
39034484 in seconds.
4485
+
4486
+ rcutorture.fwd_progress= [KNL]
4487
+ Enable RCU grace-period forward-progress testing
4488
+ for the types of RCU supporting this notion.
4489
+
4490
+ rcutorture.fwd_progress_div= [KNL]
4491
+ Specify the fraction of a CPU-stall-warning
4492
+ period to do tight-loop forward-progress testing.
4493
+
4494
+ rcutorture.fwd_progress_holdoff= [KNL]
4495
+ Number of seconds to wait between successive
4496
+ forward-progress tests.
4497
+
4498
+ rcutorture.fwd_progress_need_resched= [KNL]
4499
+ Enclose cond_resched() calls within checks for
4500
+ need_resched() during tight-loop forward-progress
4501
+ testing.
39044502
39054503 rcutorture.gp_cond= [KNL]
39064504 Use conditional/asynchronous update-side
....@@ -3920,6 +4518,18 @@
39204518 rcutorture.gp_normal=, and rcutorture.gp_sync=
39214519 are zero, rcutorture acts as if is interpreted
39224520 they are all non-zero.
4521
+
4522
+ rcutorture.irqreader= [KNL]
4523
+ Run RCU readers from irq handlers, or, more
4524
+ accurately, from a timer handler. Not all RCU
4525
+ flavors take kindly to this sort of thing.
4526
+
4527
+ rcutorture.leakpointer= [KNL]
4528
+ Leak an RCU-protected pointer out of the reader.
4529
+ This can of course result in splats, and is
4530
+ intended to test the ability of things like
4531
+ CONFIG_RCU_STRICT_GRACE_PERIOD=y to detect
4532
+ such leaks.
39234533
39244534 rcutorture.n_barrier_cbs= [KNL]
39254535 Set callbacks/threads for rcu_barrier() testing.
....@@ -3946,6 +4556,20 @@
39464556 Set time (jiffies) between CPU-hotplug operations,
39474557 or zero to disable CPU-hotplug testing.
39484558
4559
+ rcutorture.read_exit= [KNL]
4560
+ Set the number of read-then-exit kthreads used
4561
+ to test the interaction of RCU updaters and
4562
+ task-exit processing.
4563
+
4564
+ rcutorture.read_exit_burst= [KNL]
4565
+ The number of times in a given read-then-exit
4566
+ episode that a set of read-then-exit kthreads
4567
+ is spawned.
4568
+
4569
+ rcutorture.read_exit_delay= [KNL]
4570
+ The delay, in seconds, between successive
4571
+ read-then-exit testing episodes.
4572
+
39494573 rcutorture.shuffle_interval= [KNL]
39504574 Set task-shuffle interval (s). Shuffling tasks
39514575 allows some CPUs to go into dyntick-idle mode
....@@ -3959,11 +4583,23 @@
39594583 Duration of CPU stall (s) to test RCU CPU stall
39604584 warnings, zero to disable.
39614585
4586
+ rcutorture.stall_cpu_block= [KNL]
4587
+ Sleep while stalling if set. This will result
4588
+ in warnings from preemptible RCU in addition
4589
+ to any other stall-related activity.
4590
+
39624591 rcutorture.stall_cpu_holdoff= [KNL]
39634592 Time to wait (s) after boot before inducing stall.
39644593
39654594 rcutorture.stall_cpu_irqsoff= [KNL]
39664595 Disable interrupts while stalling if set.
4596
+
4597
+ rcutorture.stall_gp_kthread= [KNL]
4598
+ Duration (s) of forced sleep within RCU
4599
+ grace-period kthread to test RCU CPU stall
4600
+ warnings, zero to disable. If both stall_cpu
4601
+ and stall_gp_kthread are specified, the
4602
+ kthread is starved first, then the CPU.
39674603
39684604 rcutorture.stat_interval= [KNL]
39694605 Time (s) between statistics printk()s.
....@@ -3995,8 +4631,18 @@
39954631 rcutorture.verbose= [KNL]
39964632 Enable additional printk() statements.
39974633
4634
+ rcupdate.rcu_cpu_stall_ftrace_dump= [KNL]
4635
+ Dump ftrace buffer after reporting RCU CPU
4636
+ stall warning.
4637
+
39984638 rcupdate.rcu_cpu_stall_suppress= [KNL]
39994639 Suppress RCU CPU stall warning messages.
4640
+
4641
+ rcupdate.rcu_cpu_stall_suppress_at_boot= [KNL]
4642
+ Suppress RCU CPU stall warning messages and
4643
+ rcutorture writer stall warnings that occur
4644
+ during early boot, that is, during the time
4645
+ before the init task is spawned.
40004646
40014647 rcupdate.rcu_cpu_stall_timeout= [KNL]
40024648 Set timeout for RCU CPU stall warning messages.
....@@ -4025,6 +4671,13 @@
40254671 only normal grace-period primitives. No effect
40264672 on CONFIG_TINY_RCU kernels.
40274673
4674
+ rcupdate.rcu_task_ipi_delay= [KNL]
4675
+ Set time in jiffies during which RCU tasks will
4676
+ avoid sending IPIs, starting with the beginning
4677
+ of a given grace period. Setting a large
4678
+ number avoids disturbing real-time workloads,
4679
+ but lengthens grace periods.
4680
+
40284681 rcupdate.rcu_task_stall_timeout= [KNL]
40294682 Set timeout in jiffies for RCU task stall warning
40304683 messages. Disable with a value less than or equal
....@@ -4032,12 +4685,6 @@
40324685
40334686 rcupdate.rcu_self_test= [KNL]
40344687 Run the RCU early boot self tests
4035
-
4036
- rcupdate.rcu_self_test_bh= [KNL]
4037
- Run the RCU bh early boot self tests
4038
-
4039
- rcupdate.rcu_self_test_sched= [KNL]
4040
- Run the RCU sched early boot self tests
40414688
40424689 rdinit= [KNL]
40434690 Format: <full_path>
....@@ -4072,9 +4719,48 @@
40724719 reboot_cpu is s[mp]#### with #### being the processor
40734720 to be used for rebooting.
40744721
4722
+ refscale.holdoff= [KNL]
4723
+ Set test-start holdoff period. The purpose of
4724
+ this parameter is to delay the start of the
4725
+ test until boot completes in order to avoid
4726
+ interference.
4727
+
4728
+ refscale.loops= [KNL]
4729
+ Set the number of loops over the synchronization
4730
+ primitive under test. Increasing this number
4731
+ reduces noise due to loop start/end overhead,
4732
+ but the default has already reduced the per-pass
4733
+ noise to a handful of picoseconds on ca. 2020
4734
+ x86 laptops.
4735
+
4736
+ refscale.nreaders= [KNL]
4737
+ Set number of readers. The default value of -1
4738
+ selects N, where N is roughly 75% of the number
4739
+ of CPUs. A value of zero is an interesting choice.
4740
+
4741
+ refscale.nruns= [KNL]
4742
+ Set number of runs, each of which is dumped onto
4743
+ the console log.
4744
+
4745
+ refscale.readdelay= [KNL]
4746
+ Set the read-side critical-section duration,
4747
+ measured in microseconds.
4748
+
4749
+ refscale.scale_type= [KNL]
4750
+ Specify the read-protection implementation to test.
4751
+
4752
+ refscale.shutdown= [KNL]
4753
+ Shut down the system at the end of the performance
4754
+ test. This defaults to 1 (shut it down) when
4755
+ refscale is built into the kernel and to 0 (leave
4756
+ it running) when refscale is built as a module.
4757
+
4758
+ refscale.verbose= [KNL]
4759
+ Enable additional printk() statements.
4760
+
40754761 relax_domain_level=
40764762 [KNL, SMP] Set scheduler's default relax_domain_level.
4077
- See Documentation/cgroup-v1/cpusets.txt.
4763
+ See Documentation/admin-guide/cgroup-v1/cpusets.rst.
40784764
40794765 reserve= [KNL,BUGS] Force kernel to ignore I/O ports or memory
40804766 Format: <base1>,<size1>[,<base2>,<size2>,...]
....@@ -4104,7 +4790,7 @@
41044790 Specify the offset from the beginning of the partition
41054791 given by "resume=" at which the swap header is located,
41064792 in <PAGE_SIZE> units (needed only for swap files).
4107
- See Documentation/power/swsusp-and-swap-files.txt
4793
+ See Documentation/power/swsusp-and-swap-files.rst
41084794
41094795 resumedelay= [HIBERNATION] Delay (in seconds) to pause before attempting to
41104796 read the resume files
....@@ -4123,6 +4809,43 @@
41234809 during restoration read-only).
41244810
41254811 retain_initrd [RAM] Keep initrd memory after extraction
4812
+
4813
+ retbleed= [X86] Control mitigation of RETBleed (Arbitrary
4814
+ Speculative Code Execution with Return Instructions)
4815
+ vulnerability.
4816
+
4817
+ AMD-based UNRET and IBPB mitigations alone do not stop
4818
+ sibling threads from influencing the predictions of other
4819
+ sibling threads. For that reason, STIBP is used on pro-
4820
+ cessors that support it, and mitigate SMT on processors
4821
+ that don't.
4822
+
4823
+ off - no mitigation
4824
+ auto - automatically select a migitation
4825
+ auto,nosmt - automatically select a mitigation,
4826
+ disabling SMT if necessary for
4827
+ the full mitigation (only on Zen1
4828
+ and older without STIBP).
4829
+ ibpb - On AMD, mitigate short speculation
4830
+ windows on basic block boundaries too.
4831
+ Safe, highest perf impact. It also
4832
+ enables STIBP if present. Not suitable
4833
+ on Intel.
4834
+ ibpb,nosmt - Like "ibpb" above but will disable SMT
4835
+ when STIBP is not available. This is
4836
+ the alternative for systems which do not
4837
+ have STIBP.
4838
+ unret - Force enable untrained return thunks,
4839
+ only effective on AMD f15h-f17h based
4840
+ systems.
4841
+ unret,nosmt - Like unret, but will disable SMT when STIBP
4842
+ is not available. This is the alternative for
4843
+ systems which do not have STIBP.
4844
+
4845
+ Selecting 'auto' will choose a mitigation method at run
4846
+ time according to the CPU.
4847
+
4848
+ Not specifying this option is equivalent to retbleed=auto.
41264849
41274850 rfkill.default_state=
41284851 0 "airplane mode". All wifi, bluetooth, wimax, gps, fm,
....@@ -4197,6 +4920,114 @@
41974920 incurs a small amount of overhead in the scheduler
41984921 but is useful for debugging and performance tuning.
41994922
4923
+ sched_thermal_decay_shift=
4924
+ [KNL, SMP] Set a decay shift for scheduler thermal
4925
+ pressure signal. Thermal pressure signal follows the
4926
+ default decay period of other scheduler pelt
4927
+ signals(usually 32 ms but configurable). Setting
4928
+ sched_thermal_decay_shift will left shift the decay
4929
+ period for the thermal pressure signal by the shift
4930
+ value.
4931
+ i.e. with the default pelt decay period of 32 ms
4932
+ sched_thermal_decay_shift thermal pressure decay pr
4933
+ 1 64 ms
4934
+ 2 128 ms
4935
+ and so on.
4936
+ Format: integer between 0 and 10
4937
+ Default is 0.
4938
+
4939
+ scftorture.holdoff= [KNL]
4940
+ Number of seconds to hold off before starting
4941
+ test. Defaults to zero for module insertion and
4942
+ to 10 seconds for built-in smp_call_function()
4943
+ tests.
4944
+
4945
+ scftorture.longwait= [KNL]
4946
+ Request ridiculously long waits randomly selected
4947
+ up to the chosen limit in seconds. Zero (the
4948
+ default) disables this feature. Please note
4949
+ that requesting even small non-zero numbers of
4950
+ seconds can result in RCU CPU stall warnings,
4951
+ softlockup complaints, and so on.
4952
+
4953
+ scftorture.nthreads= [KNL]
4954
+ Number of kthreads to spawn to invoke the
4955
+ smp_call_function() family of functions.
4956
+ The default of -1 specifies a number of kthreads
4957
+ equal to the number of CPUs.
4958
+
4959
+ scftorture.onoff_holdoff= [KNL]
4960
+ Number seconds to wait after the start of the
4961
+ test before initiating CPU-hotplug operations.
4962
+
4963
+ scftorture.onoff_interval= [KNL]
4964
+ Number seconds to wait between successive
4965
+ CPU-hotplug operations. Specifying zero (which
4966
+ is the default) disables CPU-hotplug operations.
4967
+
4968
+ scftorture.shutdown_secs= [KNL]
4969
+ The number of seconds following the start of the
4970
+ test after which to shut down the system. The
4971
+ default of zero avoids shutting down the system.
4972
+ Non-zero values are useful for automated tests.
4973
+
4974
+ scftorture.stat_interval= [KNL]
4975
+ The number of seconds between outputting the
4976
+ current test statistics to the console. A value
4977
+ of zero disables statistics output.
4978
+
4979
+ scftorture.stutter_cpus= [KNL]
4980
+ The number of jiffies to wait between each change
4981
+ to the set of CPUs under test.
4982
+
4983
+ scftorture.use_cpus_read_lock= [KNL]
4984
+ Use use_cpus_read_lock() instead of the default
4985
+ preempt_disable() to disable CPU hotplug
4986
+ while invoking one of the smp_call_function*()
4987
+ functions.
4988
+
4989
+ scftorture.verbose= [KNL]
4990
+ Enable additional printk() statements.
4991
+
4992
+ scftorture.weight_single= [KNL]
4993
+ The probability weighting to use for the
4994
+ smp_call_function_single() function with a zero
4995
+ "wait" parameter. A value of -1 selects the
4996
+ default if all other weights are -1. However,
4997
+ if at least one weight has some other value, a
4998
+ value of -1 will instead select a weight of zero.
4999
+
5000
+ scftorture.weight_single_wait= [KNL]
5001
+ The probability weighting to use for the
5002
+ smp_call_function_single() function with a
5003
+ non-zero "wait" parameter. See weight_single.
5004
+
5005
+ scftorture.weight_many= [KNL]
5006
+ The probability weighting to use for the
5007
+ smp_call_function_many() function with a zero
5008
+ "wait" parameter. See weight_single.
5009
+ Note well that setting a high probability for
5010
+ this weighting can place serious IPI load
5011
+ on the system.
5012
+
5013
+ scftorture.weight_many_wait= [KNL]
5014
+ The probability weighting to use for the
5015
+ smp_call_function_many() function with a
5016
+ non-zero "wait" parameter. See weight_single
5017
+ and weight_many.
5018
+
5019
+ scftorture.weight_all= [KNL]
5020
+ The probability weighting to use for the
5021
+ smp_call_function_all() function with a zero
5022
+ "wait" parameter. See weight_single and
5023
+ weight_many.
5024
+
5025
+ scftorture.weight_all_wait= [KNL]
5026
+ The probability weighting to use for the
5027
+ smp_call_function_all() function with a
5028
+ non-zero "wait" parameter. See weight_single
5029
+ and weight_many.
5030
+
42005031 skew_tick= [KNL] Offset the periodic timer tick per cpu to mitigate
42015032 xtime_lock contention on larger systems, and/or RCU lock
42025033 contention on all systems with CONFIG_MAXSMP set.
....@@ -4206,20 +5037,16 @@
42065037 Note: increases power consumption, thus should only be
42075038 enabled if running jitter sensitive (HPC/RT) workloads.
42085039
4209
- security= [SECURITY] Choose a security module to enable at boot.
4210
- If this boot parameter is not specified, only the first
4211
- security module asking for security registration will be
4212
- loaded. An invalid security module name will be treated
4213
- as if no module has been chosen.
5040
+ security= [SECURITY] Choose a legacy "major" security module to
5041
+ enable at boot. This has been deprecated by the
5042
+ "lsm=" parameter.
42145043
42155044 selinux= [SELINUX] Disable or enable SELinux at boot time.
42165045 Format: { "0" | "1" }
42175046 See security/selinux/Kconfig help text.
42185047 0 -- disable.
42195048 1 -- enable.
4220
- Default value is set via kernel config option.
4221
- If enabled at boot time, /selinux/disable can be used
4222
- later to disable prior to initial policy load.
5049
+ Default value is 1.
42235050
42245051 apparmor= [APPARMOR] Disable or enable AppArmor at boot time
42255052 Format: { "0" | "1" }
....@@ -4257,7 +5084,7 @@
42575084 fragmentation. Defaults to 1 for systems with
42585085 more than 32MB of RAM, 0 otherwise.
42595086
4260
- slub_debug[=options[,slabs]] [MM, SLUB]
5087
+ slub_debug[=options[,slabs][;[options[,slabs]]...] [MM, SLUB]
42615088 Enabling slub_debug allows one to determine the
42625089 culprit if slab objects become corrupted. Enabling
42635090 slub_debug can create guard zones around objects and
....@@ -4320,21 +5147,21 @@
43205147
43215148 softlockup_panic=
43225149 [KNL] Should the soft-lockup detector generate panics.
4323
- Format: <integer>
5150
+ Format: 0 | 1
43245151
4325
- A nonzero value instructs the soft-lockup detector
4326
- to panic the machine when a soft-lockup occurs. This
4327
- is also controlled by CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC
4328
- which is the respective build-time switch to that
4329
- functionality.
5152
+ A value of 1 instructs the soft-lockup detector
5153
+ to panic the machine when a soft-lockup occurs. It is
5154
+ also controlled by the kernel.softlockup_panic sysctl
5155
+ and CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC, which is the
5156
+ respective build-time switch to that functionality.
43305157
43315158 softlockup_all_cpu_backtrace=
43325159 [KNL] Should the soft-lockup detector generate
43335160 backtraces on all cpus.
4334
- Format: <integer>
5161
+ Format: 0 | 1
43355162
43365163 sonypi.*= [HW] Sony Programmable I/O Control Device driver
4337
- See Documentation/laptops/sonypi.txt
5164
+ See Documentation/admin-guide/laptops/sonypi.rst
43385165
43395166 spectre_v2= [X86] Control mitigation of Spectre variant 2
43405167 (indirect branch speculation) vulnerability.
....@@ -4363,8 +5190,13 @@
43635190 Specific mitigations can also be selected manually:
43645191
43655192 retpoline - replace indirect branches
4366
- retpoline,generic - google's original retpoline
4367
- retpoline,amd - AMD-specific minimal thunk
5193
+ retpoline,generic - Retpolines
5194
+ retpoline,lfence - LFENCE; indirect branch
5195
+ retpoline,amd - alias for retpoline,lfence
5196
+ eibrs - enhanced IBRS
5197
+ eibrs,retpoline - enhanced IBRS + Retpolines
5198
+ eibrs,lfence - enhanced IBRS + LFENCE
5199
+ ibrs - use IBRS to protect kernel
43685200
43695201 Not specifying this option is equivalent to
43705202 spectre_v2=auto.
....@@ -4410,6 +5242,17 @@
44105242
44115243 Not specifying this option is equivalent to
44125244 spectre_v2_user=auto.
5245
+
5246
+ spec_rstack_overflow=
5247
+ [X86] Control RAS overflow mitigation on AMD Zen CPUs
5248
+
5249
+ off - Disable mitigation
5250
+ microcode - Enable microcode mitigation only
5251
+ safe-ret - Enable sw-only safe RET mitigation (default)
5252
+ ibpb - Enable mitigation by issuing IBPB on
5253
+ kernel entry
5254
+ ibpb-vmexit - Issue IBPB only on VMEXIT
5255
+ (cloud-specific mitigation)
44135256
44145257 spec_store_bypass_disable=
44155258 [HW] Control Speculative Store Bypass (SSB) Disable mitigation
....@@ -4467,6 +5310,28 @@
44675310 spia_fio_base=
44685311 spia_pedr=
44695312 spia_peddr=
5313
+
5314
+ split_lock_detect=
5315
+ [X86] Enable split lock detection
5316
+
5317
+ When enabled (and if hardware support is present), atomic
5318
+ instructions that access data across cache line
5319
+ boundaries will result in an alignment check exception.
5320
+
5321
+ off - not enabled
5322
+
5323
+ warn - the kernel will emit rate limited warnings
5324
+ about applications triggering the #AC
5325
+ exception. This mode is the default on CPUs
5326
+ that supports split lock detection.
5327
+
5328
+ fatal - the kernel will send SIGBUS to applications
5329
+ that trigger the #AC exception.
5330
+
5331
+ If an #AC exception is hit in the kernel or in
5332
+ firmware (i.e. not while executing in user mode)
5333
+ the kernel will oops in either "warn" or "fatal"
5334
+ mode.
44705335
44715336 srbds= [X86,INTEL]
44725337 Control the Special Register Buffer Data Sampling
....@@ -4528,6 +5393,12 @@
45285393 to (for stacks growing down) resp. after (for stacks
45295394 growing up) the main stack are reserved for no other
45305395 mapping. Default value is 256 pages.
5396
+
5397
+ stack_depot_disable= [KNL]
5398
+ Setting this to true through kernel command line will
5399
+ disable the stack depot thereby saving the static memory
5400
+ consumed by the stack hash table. By default this is set
5401
+ to false.
45315402
45325403 stacktrace [FTRACE]
45335404 Enabled the stack tracer on boot up.
....@@ -4603,10 +5474,15 @@
46035474 /sys/power/pm_test). Only available when CONFIG_PM_DEBUG
46045475 is set. Default value is 5.
46055476
5477
+ svm= [PPC]
5478
+ Format: { on | off | y | n | 1 | 0 }
5479
+ This parameter controls use of the Protected
5480
+ Execution Facility on pSeries.
5481
+
46065482 swapaccount=[0|1]
46075483 [KNL] Enable accounting of swap in memory resource
46085484 controller if no parameter or 1 is given or disable
4609
- it if 0 is given (See Documentation/cgroup-v1/memory.txt)
5485
+ it if 0 is given (See Documentation/admin-guide/cgroup-v1/memory.rst)
46105486
46115487 swiotlb= [ARM,IA-64,PPC,MIPS,X86]
46125488 Format: { <int> | force | noforce }
....@@ -4616,6 +5492,15 @@
46165492 noforce -- Never use bounce buffers (for debugging)
46175493
46185494 switches= [HW,M68k]
5495
+
5496
+ sysctl.*= [KNL]
5497
+ Set a sysctl parameter, right before loading the init
5498
+ process, as if the value was written to the respective
5499
+ /proc/sys/... file. Both '.' and '/' are recognized as
5500
+ separators. Unrecognized parameters and invalid values
5501
+ are reported in the kernel log. Sysctls registered
5502
+ later by a loaded module cannot be set this way.
5503
+ Example: sysctl.vm.swappiness=40
46195504
46205505 sysfs.deprecated=0|1 [KNL]
46215506 Enable/disable old style sysfs layout for old udev
....@@ -4636,7 +5521,7 @@
46365521 Set the number of tcp_metrics_hash slots.
46375522 Default value is 8192 or 16384 depending on total
46385523 ram pages. This is used to specify the TCP metrics
4639
- cache size. See Documentation/networking/ip-sysctl.txt
5524
+ cache size. See Documentation/networking/ip-sysctl.rst
46405525 "tcp_no_metrics_save" section for more details.
46415526
46425527 tdfx= [HW,DRM]
....@@ -4681,27 +5566,6 @@
46815566 Force threading of all interrupt handlers except those
46825567 marked explicitly IRQF_NO_THREAD.
46835568
4684
- tmem [KNL,XEN]
4685
- Enable the Transcendent memory driver if built-in.
4686
-
4687
- tmem.cleancache=0|1 [KNL, XEN]
4688
- Default is on (1). Disable the usage of the cleancache
4689
- API to send anonymous pages to the hypervisor.
4690
-
4691
- tmem.frontswap=0|1 [KNL, XEN]
4692
- Default is on (1). Disable the usage of the frontswap
4693
- API to send swap pages to the hypervisor. If disabled
4694
- the selfballooning and selfshrinking are force disabled.
4695
-
4696
- tmem.selfballooning=0|1 [KNL, XEN]
4697
- Default is on (1). Disable the driving of swap pages
4698
- to the hypervisor.
4699
-
4700
- tmem.selfshrinking=0|1 [KNL, XEN]
4701
- Default is on (1). Partial swapoff that immediately
4702
- transfers pages from Xen hypervisor back to the
4703
- kernel based on different criteria.
4704
-
47055569 topology= [S390]
47065570 Format: {off | on}
47075571 Specify if the kernel should make use of the cpu
....@@ -4715,6 +5579,17 @@
47155579 Specify if the kernel should ignore (off)
47165580 topology updates sent by the hypervisor to this
47175581 LPAR.
5582
+
5583
+ torture.disable_onoff_at_boot= [KNL]
5584
+ Prevent the CPU-hotplug component of torturing
5585
+ until after init has spawned.
5586
+
5587
+ torture.ftrace_dump_at_shutdown= [KNL]
5588
+ Dump the ftrace buffer at torture-test shutdown,
5589
+ even if there were no errors. This can be a
5590
+ very costly operation when many torture tests
5591
+ are running concurrently, especially on systems
5592
+ with rotating-rust storage.
47185593
47195594 tp720= [HW,PS2]
47205595
....@@ -4805,6 +5680,16 @@
48055680 [x86] unstable: mark the TSC clocksource as unstable, this
48065681 marks the TSC unconditionally unstable at bootup and
48075682 avoids any further wobbles once the TSC watchdog notices.
5683
+ [x86] nowatchdog: disable clocksource watchdog. Used
5684
+ in situations with strict latency requirements (where
5685
+ interruptions from clocksource watchdog are not
5686
+ acceptable).
5687
+
5688
+ tsc_early_khz= [X86] Skip early TSC calibration and use the given
5689
+ value instead. Useful when the early TSC frequency discovery
5690
+ procedure is not reliable, such as on overclocked systems
5691
+ with CPUID.16h support and partial CPUID.15h support.
5692
+ Format: <unsigned int>
48085693
48095694 tsx= [X86] Control Transactional Synchronization
48105695 Extensions (TSX) feature in Intel processors that
....@@ -4904,7 +5789,8 @@
49045789 usbcore.authorized_default=
49055790 [USB] Default USB device authorization:
49065791 (default -1 = authorized except for wireless USB,
4907
- 0 = not authorized, 1 = authorized)
5792
+ 0 = not authorized, 1 = authorized, 2 = authorized
5793
+ if device connected to internal port)
49085794
49095795 usbcore.autosuspend=
49105796 [USB] The autosuspend time delay (in seconds) used
....@@ -5111,7 +5997,7 @@
51115997 vector=percpu: enable percpu vector domain
51125998
51135999 video= [FB] Frame buffer configuration
5114
- See Documentation/fb/modedb.txt.
6000
+ See Documentation/fb/modedb.rst.
51156001
51166002 video.brightness_switch_enabled= [0,1]
51176003 If set to 1, on receiving an ACPI notify event
....@@ -5139,11 +6025,23 @@
51396025 Can be used multiple times for multiple devices.
51406026
51416027 vga= [BOOT,X86-32] Select a particular video mode
5142
- See Documentation/x86/boot.txt and
5143
- Documentation/svga.txt.
6028
+ See Documentation/x86/boot.rst and
6029
+ Documentation/admin-guide/svga.rst.
51446030 Use vga=ask for menu.
51456031 This is actually a boot loader parameter; the value is
51466032 passed to the kernel using a special protocol.
6033
+
6034
+ vm_debug[=options] [KNL] Available with CONFIG_DEBUG_VM=y.
6035
+ May slow down system boot speed, especially when
6036
+ enabled on systems with a large amount of memory.
6037
+ All options are enabled by default, and this
6038
+ interface is meant to allow for selectively
6039
+ enabling or disabling specific virtual memory
6040
+ debugging features.
6041
+
6042
+ Available options are:
6043
+ P Enable page structure init time poisoning
6044
+ - Disable all of the above options
51476045
51486046 vmalloc=nn[KMG] [KNL,BOOT] Forces the vmalloc area to have an exact
51496047 size of <nn>. This can be used to increase the
....@@ -5173,7 +6071,12 @@
51736071 targets for exploits that can control RIP.
51746072
51756073 emulate [default] Vsyscalls turn into traps and are
5176
- emulated reasonably safely.
6074
+ emulated reasonably safely. The vsyscall
6075
+ page is readable.
6076
+
6077
+ xonly Vsyscalls turn into traps and are
6078
+ emulated reasonably safely. The vsyscall
6079
+ page is not readable.
51776080
51786081 none Vsyscalls don't work at all. This makes
51796082 them quite hard to use for exploits but
....@@ -5229,9 +6132,17 @@
52296132 Default: 3 = cyan.
52306133
52316134 watchdog timers [HW,WDT] For information on watchdog timers,
5232
- see Documentation/watchdog/watchdog-parameters.txt
6135
+ see Documentation/watchdog/watchdog-parameters.rst
52336136 or other driver-specific files in the
52346137 Documentation/watchdog/ directory.
6138
+
6139
+ watchdog_thresh=
6140
+ [KNL]
6141
+ Set the hard lockup detector stall duration
6142
+ threshold in seconds. The soft lockup detector
6143
+ threshold is set to twice the value. A value of 0
6144
+ disables both lockup detectors. Default is 10
6145
+ seconds.
52356146
52366147 workqueue.watchdog_thresh=
52376148 If CONFIG_WQ_WATCHDOG is configured, workqueue can
....@@ -5311,18 +6222,32 @@
53116222 panic() code such as dumping handler.
53126223
53136224 xen_nopvspin [X86,XEN]
5314
- Disables the ticketlock slowpath using Xen PV
5315
- optimizations.
6225
+ Disables the qspinlock slowpath using Xen PV optimizations.
6226
+ This parameter is obsoleted by "nopvspin" parameter, which
6227
+ has equivalent effect for XEN platform.
53166228
53176229 xen_nopv [X86]
53186230 Disables the PV optimizations forcing the HVM guest to
53196231 run as generic HVM guest with no PV drivers.
6232
+ This option is obsoleted by the "nopv" option, which
6233
+ has equivalent effect for XEN platform.
6234
+
6235
+ xen_no_vector_callback
6236
+ [KNL,X86,XEN] Disable the vector callback for Xen
6237
+ event channel interrupts.
53206238
53216239 xen_scrub_pages= [XEN]
53226240 Boolean option to control scrubbing pages before giving them back
53236241 to Xen, for use by other domains. Can be also changed at runtime
53246242 with /sys/devices/system/xen_memory/xen_memory0/scrub_pages.
53256243 Default value controlled with CONFIG_XEN_SCRUB_PAGES_DEFAULT.
6244
+
6245
+ xen_timer_slop= [X86-64,XEN]
6246
+ Set the timer slop (in nanoseconds) for the virtual Xen
6247
+ timers (default is 100000). This adjusts the minimum
6248
+ delta of virtualized Xen timers, where lower values
6249
+ improve timer resolution at the expense of processing
6250
+ more timer interrupts.
53266251
53276252 xen.balloon_boot_timeout= [XEN]
53286253 The time (in seconds) to wait before giving up to boot
....@@ -5339,11 +6264,56 @@
53396264 After which time (jiffies) the event handling loop
53406265 should start to delay EOI handling. Default is 2.
53416266
6267
+ xen.fifo_events= [XEN]
6268
+ Boolean parameter to disable using fifo event handling
6269
+ even if available. Normally fifo event handling is
6270
+ preferred over the 2-level event handling, as it is
6271
+ fairer and the number of possible event channels is
6272
+ much higher. Default is on (use fifo events).
6273
+
6274
+ nopv= [X86,XEN,KVM,HYPER_V,VMWARE]
6275
+ Disables the PV optimizations forcing the guest to run
6276
+ as generic guest with no PV drivers. Currently support
6277
+ XEN HVM, KVM, HYPER_V and VMWARE guest.
6278
+
6279
+ nopvspin [X86,XEN,KVM]
6280
+ Disables the qspinlock slow path using PV optimizations
6281
+ which allow the hypervisor to 'idle' the guest on lock
6282
+ contention.
6283
+
53426284 xirc2ps_cs= [NET,PCMCIA]
53436285 Format:
53446286 <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
6287
+
6288
+ xive= [PPC]
6289
+ By default on POWER9 and above, the kernel will
6290
+ natively use the XIVE interrupt controller. This option
6291
+ allows the fallback firmware mode to be used:
6292
+
6293
+ off Fallback to firmware control of XIVE interrupt
6294
+ controller on both pseries and powernv
6295
+ platforms. Only useful on POWER9 and above.
53456296
53466297 xhci-hcd.quirks [USB,KNL]
53476298 A hex value specifying bitmask with supplemental xhci
53486299 host controller quirks. Meaning of each bit can be
53496300 consulted in header drivers/usb/host/xhci.h.
6301
+
6302
+ xmon [PPC]
6303
+ Format: { early | on | rw | ro | off }
6304
+ Controls if xmon debugger is enabled. Default is off.
6305
+ Passing only "xmon" is equivalent to "xmon=early".
6306
+ early Call xmon as early as possible on boot; xmon
6307
+ debugger is called from setup_arch().
6308
+ on xmon debugger hooks will be installed so xmon
6309
+ is only called on a kernel crash. Default mode,
6310
+ i.e. either "ro" or "rw" mode, is controlled
6311
+ with CONFIG_XMON_DEFAULT_RO_MODE.
6312
+ rw xmon debugger hooks will be installed so xmon
6313
+ is called only on a kernel crash, mode is write,
6314
+ meaning SPR registers, memory and, other data
6315
+ can be written using xmon commands.
6316
+ ro same as "rw" option above but SPR registers,
6317
+ memory, and other data can't be written using
6318
+ xmon commands.
6319
+ off xmon is disabled.