Merge tag 'driver-core-5.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / Documentation / admin-guide / kernel-parameters.txt
index 9b847f06cb1940583f9ce7d8a415b6d96b68b552..b25b47a47acd89a0303ff64e5fa6fa6d052e8ff4 100644 (file)
                        Format: {"off" | "on" | "skip[mbr]"}
 
        efi=            [EFI]
-                       Format: { "old_map", "nochunk", "noruntime", "debug" }
+                       Format: { "old_map", "nochunk", "noruntime", "debug",
+                                 "nosoftreserve" }
                        old_map [X86-64]: switch to the old ioremap-based EFI
                        runtime services mapping. 32-bit still uses this one by
                        default.
                        firmware implementations.
                        noruntime : disable EFI runtime services support
                        debug: enable misc debug output
+                       nosoftreserve: The EFI_MEMORY_SP (Specific Purpose)
+                       attribute may cause the kernel to reserve the
+                       memory range for a memory mapping driver to
+                       claim. Specify efi=nosoftreserve to disable this
+                       reservation and treat the memory by its base type
+                       (i.e. EFI_CONVENTIONAL_MEMORY / "System RAM").
 
        efi_no_storage_paranoia [EFI; X86]
                        Using this parameter you can use more than 50% of
                        updating original EFI memory map.
                        Region of memory which aa attribute is added to is
                        from ss to ss+nn.
+
                        If efi_fake_mem=2G@4G:0x10000,2G@0x10a0000000:0x10000
                        is specified, EFI_MEMORY_MORE_RELIABLE(0x10000)
                        attribute is added to range 0x100000000-0x180000000 and
                        0x10a0000000-0x1120000000.
 
+                       If efi_fake_mem=8G@9G:0x40000 is specified, the
+                       EFI_MEMORY_SP(0x40000) attribute is added to
+                       range 0x240000000-0x43fffffff.
+
                        Using this parameter you can do debugging of EFI memmap
-                       related feature. For example, you can do debugging of
+                       related features. For example, you can do debugging of
                        Address Range Mirroring feature even if your box
-                       doesn't support it.
+                       doesn't support it, or mark specific memory as
+                       "soft reserved".
 
        efivar_ssdt=    [EFI; X86] Name of an EFI variable that contains an SSDT
                        that is to be dynamically loaded by Linux. If there are
                                     SMT on vulnerable CPUs
                        off        - Unconditionally disable MDS mitigation
 
+                       On TAA-affected machines, mds=off can be prevented by
+                       an active TAA mitigation as both vulnerabilities are
+                       mitigated with the same mechanism so in order to disable
+                       this mitigation, you need to specify tsx_async_abort=off
+                       too.
+
                        Not specifying this option is equivalent to
                        mds=full.
 
                        This can be set from sysctl after boot.
                        See Documentation/admin-guide/sysctl/vm.rst for details.
 
+       of_devlink      [OF, KNL] Create device links between consumer and
+                       supplier devices by scanning the devictree to infer the
+                       consumer/supplier relationships.  A consumer device
+                       will not be probed until all the supplier devices have
+                       probed successfully.
+
        ohci1394_dma=early      [HW] enable debugging via the ohci1394 driver.
                        See Documentation/debugging-via-ohci1394.txt for more
                        info.
                                     vulnerable to cross-thread TAA attacks.
                        off        - Unconditionally disable TAA mitigation
 
+                       On MDS-affected machines, tsx_async_abort=off can be
+                       prevented by an active MDS mitigation as both vulnerabilities
+                       are mitigated with the same mechanism so in order to disable
+                       this mitigation, you need to specify mds=off too.
+
                        Not specifying this option is equivalent to
                        tsx_async_abort=full.  On CPUs which are MDS affected
                        and deploy MDS mitigation, TAA mitigation is not
                        Flags is a set of characters, each corresponding
                        to a common usb-storage quirk flag as follows:
                                a = SANE_SENSE (collect more than 18 bytes
-                                       of sense data);
+                                       of sense data, not on uas);
                                b = BAD_SENSE (don't collect more than 18
-                                       bytes of sense data);
+                                       bytes of sense data, not on uas);
                                c = FIX_CAPACITY (decrease the reported
                                        device capacity by one sector);
                                d = NO_READ_DISC_INFO (don't use
-                                       READ_DISC_INFO command);
+                                       READ_DISC_INFO command, not on uas);
                                e = NO_READ_CAPACITY_16 (don't use
                                        READ_CAPACITY_16 command);
                                f = NO_REPORT_OPCODES (don't use report opcodes
                                j = NO_REPORT_LUNS (don't use report luns
                                        command, uas only);
                                l = NOT_LOCKABLE (don't try to lock and
-                                       unlock ejectable media);
+                                       unlock ejectable media, not on uas);
                                m = MAX_SECTORS_64 (don't transfer more
-                                       than 64 sectors = 32 KB at a time);
+                                       than 64 sectors = 32 KB at a time,
+                                       not on uas);
                                n = INITIAL_READ10 (force a retry of the
-                                       initial READ(10) command);
+                                       initial READ(10) command, not on uas);
                                o = CAPACITY_OK (accept the capacity
-                                       reported by the device);
+                                       reported by the device, not on uas);
                                p = WRITE_CACHE (the device cache is ON
-                                       by default);
+                                       by default, not on uas);
                                r = IGNORE_RESIDUE (the device reports
-                                       bogus residue values);
+                                       bogus residue values, not on uas);
                                s = SINGLE_LUN (the device has only one
                                        Logical Unit);
                                t = NO_ATA_1X (don't allow ATA(12) and ATA(16)
                                w = NO_WP_DETECT (don't test whether the
                                        medium is write-protected).
                                y = ALWAYS_SYNC (issue a SYNCHRONIZE_CACHE
-                                       even if the device claims no cache)
+                                       even if the device claims no cache,
+                                       not on uas)
                        Example: quirks=0419:aaf5:rl,0421:0433:rc
 
        user_debug=     [KNL,ARM]