1 For all of the nmem device attributes under `` 1 For all of the nmem device attributes under ``nfit/*``, see the 'NVDIMM Firmware 2 Interface Table (NFIT)' section in the ACPI sp 2 Interface Table (NFIT)' section in the ACPI specification 3 (http://www.uefi.org/specifications) for more 3 (http://www.uefi.org/specifications) for more details. 4 4 5 What: /sys/bus/nd/devices/nmemX/nfit 5 What: /sys/bus/nd/devices/nmemX/nfit/serial 6 Date: Jun, 2015 6 Date: Jun, 2015 7 KernelVersion: v4.2 7 KernelVersion: v4.2 8 Contact: nvdimm@lists.linux.dev 8 Contact: nvdimm@lists.linux.dev 9 Description: 9 Description: 10 (RO) Serial number of the NVDI 10 (RO) Serial number of the NVDIMM (non-volatile dual in-line 11 memory module), assigned by th 11 memory module), assigned by the module vendor. 12 12 13 13 14 What: /sys/bus/nd/devices/nmemX/nfit 14 What: /sys/bus/nd/devices/nmemX/nfit/handle 15 Date: Apr, 2015 15 Date: Apr, 2015 16 KernelVersion: v4.2 16 KernelVersion: v4.2 17 Contact: nvdimm@lists.linux.dev 17 Contact: nvdimm@lists.linux.dev 18 Description: 18 Description: 19 (RO) The address (given by the 19 (RO) The address (given by the _ADR object) of the device on its 20 parent bus of the NVDIMM devic 20 parent bus of the NVDIMM device containing the NVDIMM region. 21 21 22 22 23 What: /sys/bus/nd/devices/nmemX/nfit 23 What: /sys/bus/nd/devices/nmemX/nfit/device 24 Date: Apr, 2015 24 Date: Apr, 2015 25 KernelVersion: v4.1 25 KernelVersion: v4.1 26 Contact: nvdimm@lists.linux.dev 26 Contact: nvdimm@lists.linux.dev 27 Description: 27 Description: 28 (RO) Device id for the NVDIMM, 28 (RO) Device id for the NVDIMM, assigned by the module vendor. 29 29 30 30 31 What: /sys/bus/nd/devices/nmemX/nfit 31 What: /sys/bus/nd/devices/nmemX/nfit/rev_id 32 Date: Jun, 2015 32 Date: Jun, 2015 33 KernelVersion: v4.2 33 KernelVersion: v4.2 34 Contact: nvdimm@lists.linux.dev 34 Contact: nvdimm@lists.linux.dev 35 Description: 35 Description: 36 (RO) Revision of the NVDIMM, a 36 (RO) Revision of the NVDIMM, assigned by the module vendor. 37 37 38 38 39 What: /sys/bus/nd/devices/nmemX/nfit 39 What: /sys/bus/nd/devices/nmemX/nfit/phys_id 40 Date: Apr, 2015 40 Date: Apr, 2015 41 KernelVersion: v4.2 41 KernelVersion: v4.2 42 Contact: nvdimm@lists.linux.dev 42 Contact: nvdimm@lists.linux.dev 43 Description: 43 Description: 44 (RO) Handle (i.e., instance nu 44 (RO) Handle (i.e., instance number) for the SMBIOS (system 45 management BIOS) Memory Device 45 management BIOS) Memory Device structure describing the NVDIMM 46 containing the NVDIMM region. 46 containing the NVDIMM region. 47 47 48 48 49 What: /sys/bus/nd/devices/nmemX/nfit 49 What: /sys/bus/nd/devices/nmemX/nfit/flags 50 Date: Jun, 2015 50 Date: Jun, 2015 51 KernelVersion: v4.2 51 KernelVersion: v4.2 52 Contact: nvdimm@lists.linux.dev 52 Contact: nvdimm@lists.linux.dev 53 Description: 53 Description: 54 (RO) The flags in the NFIT mem 54 (RO) The flags in the NFIT memory device sub-structure indicate 55 the state of the data on the n 55 the state of the data on the nvdimm relative to its energy 56 source or last "flush to persi 56 source or last "flush to persistence". 57 57 58 The attribute is a translation 58 The attribute is a translation of the 'NVDIMM State Flags' field 59 in section 5.2.25.3 'NVDIMM Re 59 in section 5.2.25.3 'NVDIMM Region Mapping' Structure of the 60 ACPI specification 6.2. 60 ACPI specification 6.2. 61 61 62 The health states are "save_fa 62 The health states are "save_fail", "restore_fail", "flush_fail", 63 "not_armed", "smart_event", "m 63 "not_armed", "smart_event", "map_fail" and "smart_notify". 64 64 65 65 66 What: /sys/bus/nd/devices/nmemX/nfit 66 What: /sys/bus/nd/devices/nmemX/nfit/format 67 What: /sys/bus/nd/devices/nmemX/nfit 67 What: /sys/bus/nd/devices/nmemX/nfit/format1 68 What: /sys/bus/nd/devices/nmemX/nfit 68 What: /sys/bus/nd/devices/nmemX/nfit/formats 69 Date: Apr, 2016 69 Date: Apr, 2016 70 KernelVersion: v4.7 70 KernelVersion: v4.7 71 Contact: nvdimm@lists.linux.dev 71 Contact: nvdimm@lists.linux.dev 72 Description: 72 Description: 73 (RO) The interface codes indic 73 (RO) The interface codes indicate support for persistent memory 74 mapped directly into system ph 74 mapped directly into system physical address space and / or a 75 block aperture access mechanis 75 block aperture access mechanism to the NVDIMM media. 76 The 'formats' attribute displa 76 The 'formats' attribute displays the number of supported 77 interfaces. 77 interfaces. 78 78 79 This layout is compatible with 79 This layout is compatible with existing libndctl binaries that 80 only expect one code per-dimm 80 only expect one code per-dimm as they will ignore 81 nmemX/nfit/formats and nmemX/n 81 nmemX/nfit/formats and nmemX/nfit/formatN. 82 82 83 83 84 What: /sys/bus/nd/devices/nmemX/nfit 84 What: /sys/bus/nd/devices/nmemX/nfit/vendor 85 Date: Apr, 2016 85 Date: Apr, 2016 86 KernelVersion: v4.7 86 KernelVersion: v4.7 87 Contact: nvdimm@lists.linux.dev 87 Contact: nvdimm@lists.linux.dev 88 Description: 88 Description: 89 (RO) Vendor id of the NVDIMM. 89 (RO) Vendor id of the NVDIMM. 90 90 91 91 92 What: /sys/bus/nd/devices/nmemX/nfit 92 What: /sys/bus/nd/devices/nmemX/nfit/dsm_mask 93 Date: May, 2016 93 Date: May, 2016 94 KernelVersion: v4.7 94 KernelVersion: v4.7 95 Contact: nvdimm@lists.linux.dev 95 Contact: nvdimm@lists.linux.dev 96 Description: 96 Description: 97 (RO) The bitmask indicates the 97 (RO) The bitmask indicates the supported device specific control 98 functions relative to the NVDI 98 functions relative to the NVDIMM command family supported by the 99 device 99 device 100 100 101 101 102 What: /sys/bus/nd/devices/nmemX/nfit 102 What: /sys/bus/nd/devices/nmemX/nfit/family 103 Date: Apr, 2016 103 Date: Apr, 2016 104 KernelVersion: v4.7 104 KernelVersion: v4.7 105 Contact: nvdimm@lists.linux.dev 105 Contact: nvdimm@lists.linux.dev 106 Description: 106 Description: 107 (RO) Displays the NVDIMM famil 107 (RO) Displays the NVDIMM family command sets. Values 108 0, 1, 2 and 3 correspond to NV 108 0, 1, 2 and 3 correspond to NVDIMM_FAMILY_INTEL, 109 NVDIMM_FAMILY_HPE1, NVDIMM_FAM 109 NVDIMM_FAMILY_HPE1, NVDIMM_FAMILY_HPE2 and NVDIMM_FAMILY_MSFT 110 respectively. 110 respectively. 111 111 112 See the specifications for the 112 See the specifications for these command families here: 113 http://pmem.io/documents/NVDIM 113 http://pmem.io/documents/NVDIMM_DSM_Interface-V1.6.pdf 114 https://github.com/HewlettPack 114 https://github.com/HewlettPackard/hpe-nvm/blob/master/Documentation/ 115 https://msdn.microsoft.com/lib 115 https://msdn.microsoft.com/library/windows/hardware/mt604741" 116 116 117 117 118 What: /sys/bus/nd/devices/nmemX/nfit 118 What: /sys/bus/nd/devices/nmemX/nfit/id 119 Date: Apr, 2016 119 Date: Apr, 2016 120 KernelVersion: v4.7 120 KernelVersion: v4.7 121 Contact: nvdimm@lists.linux.dev 121 Contact: nvdimm@lists.linux.dev 122 Description: 122 Description: 123 (RO) ACPI specification 6.2 se 123 (RO) ACPI specification 6.2 section 5.2.25.9, defines an 124 identifier for an NVDIMM, whic 124 identifier for an NVDIMM, which reflects the id attribute. 125 125 126 126 127 What: /sys/bus/nd/devices/nmemX/nfit 127 What: /sys/bus/nd/devices/nmemX/nfit/subsystem_vendor 128 Date: Apr, 2016 128 Date: Apr, 2016 129 KernelVersion: v4.7 129 KernelVersion: v4.7 130 Contact: nvdimm@lists.linux.dev 130 Contact: nvdimm@lists.linux.dev 131 Description: 131 Description: 132 (RO) Sub-system vendor id of t 132 (RO) Sub-system vendor id of the NVDIMM non-volatile memory 133 subsystem controller. 133 subsystem controller. 134 134 135 135 136 What: /sys/bus/nd/devices/nmemX/nfit 136 What: /sys/bus/nd/devices/nmemX/nfit/subsystem_rev_id 137 Date: Apr, 2016 137 Date: Apr, 2016 138 KernelVersion: v4.7 138 KernelVersion: v4.7 139 Contact: nvdimm@lists.linux.dev 139 Contact: nvdimm@lists.linux.dev 140 Description: 140 Description: 141 (RO) Sub-system revision id of 141 (RO) Sub-system revision id of the NVDIMM non-volatile memory subsystem 142 controller, assigned by the no 142 controller, assigned by the non-volatile memory subsystem 143 controller vendor. 143 controller vendor. 144 144 145 145 146 What: /sys/bus/nd/devices/nmemX/nfit 146 What: /sys/bus/nd/devices/nmemX/nfit/subsystem_device 147 Date: Apr, 2016 147 Date: Apr, 2016 148 KernelVersion: v4.7 148 KernelVersion: v4.7 149 Contact: nvdimm@lists.linux.dev 149 Contact: nvdimm@lists.linux.dev 150 Description: 150 Description: 151 (RO) Sub-system device id for 151 (RO) Sub-system device id for the NVDIMM non-volatile memory 152 subsystem controller, assigned 152 subsystem controller, assigned by the non-volatile memory 153 subsystem controller vendor. 153 subsystem controller vendor. 154 154 155 155 156 What: /sys/bus/nd/devices/ndbusX/nfi 156 What: /sys/bus/nd/devices/ndbusX/nfit/revision 157 Date: Jun, 2015 157 Date: Jun, 2015 158 KernelVersion: v4.2 158 KernelVersion: v4.2 159 Contact: nvdimm@lists.linux.dev 159 Contact: nvdimm@lists.linux.dev 160 Description: 160 Description: 161 (RO) ACPI NFIT table revision 161 (RO) ACPI NFIT table revision number. 162 162 163 163 164 What: /sys/bus/nd/devices/ndbusX/nfi 164 What: /sys/bus/nd/devices/ndbusX/nfit/scrub 165 Date: Sep, 2016 165 Date: Sep, 2016 166 KernelVersion: v4.9 166 KernelVersion: v4.9 167 Contact: nvdimm@lists.linux.dev 167 Contact: nvdimm@lists.linux.dev 168 Description: 168 Description: 169 (RW) This shows the number of 169 (RW) This shows the number of full Address Range Scrubs (ARS) 170 that have been completed since 170 that have been completed since driver load time. Userspace can 171 wait on this using select/poll 171 wait on this using select/poll etc. A '+' at the end indicates 172 an ARS is in progress 172 an ARS is in progress 173 173 174 Writing a value of 1 triggers 174 Writing a value of 1 triggers an ARS scan. 175 175 176 176 177 What: /sys/bus/nd/devices/ndbusX/nfi 177 What: /sys/bus/nd/devices/ndbusX/nfit/hw_error_scrub 178 Date: Sep, 2016 178 Date: Sep, 2016 179 KernelVersion: v4.9 179 KernelVersion: v4.9 180 Contact: nvdimm@lists.linux.dev 180 Contact: nvdimm@lists.linux.dev 181 Description: 181 Description: 182 (RW) Provides a way to toggle 182 (RW) Provides a way to toggle the behavior between just adding 183 the address (cache line) where 183 the address (cache line) where the MCE happened to the poison 184 list and doing a full scrub. T 184 list and doing a full scrub. The former (selective insertion of 185 the address) is done unconditi 185 the address) is done unconditionally. 186 186 187 This attribute can have the fo 187 This attribute can have the following values written to it: 188 188 189 '0': Switch to the default mod 189 '0': Switch to the default mode where an exception will only 190 insert the address of the memo 190 insert the address of the memory error into the poison and 191 badblocks lists. 191 badblocks lists. 192 '1': Enable a full scrub to ha 192 '1': Enable a full scrub to happen if an exception for a memory 193 error is received. 193 error is received. 194 194 195 195 196 What: /sys/bus/nd/devices/ndbusX/nfi 196 What: /sys/bus/nd/devices/ndbusX/nfit/dsm_mask 197 Date: Jun, 2017 197 Date: Jun, 2017 198 KernelVersion: v4.13 198 KernelVersion: v4.13 199 Contact: nvdimm@lists.linux.dev 199 Contact: nvdimm@lists.linux.dev 200 Description: 200 Description: 201 (RO) The bitmask indicates the 201 (RO) The bitmask indicates the supported bus specific control 202 functions. See the section nam 202 functions. See the section named 'NVDIMM Root Device _DSMs' in 203 the ACPI specification. 203 the ACPI specification. 204 204 205 What: /sys/bus/nd/devices/ndbusX/nfi 205 What: /sys/bus/nd/devices/ndbusX/nfit/firmware_activate_noidle 206 Date: Apr, 2020 206 Date: Apr, 2020 207 KernelVersion: v5.8 207 KernelVersion: v5.8 208 Contact: nvdimm@lists.linux.dev 208 Contact: nvdimm@lists.linux.dev 209 Description: 209 Description: 210 (RW) The Intel platform implem 210 (RW) The Intel platform implementation of firmware activate 211 support exposes an option let 211 support exposes an option let the platform force idle devices in 212 the system over the activation 212 the system over the activation event, or trust that the OS will 213 do it. The safe default is to 213 do it. The safe default is to let the platform force idle 214 devices since the kernel is al 214 devices since the kernel is already in a suspend state, and on 215 the chance that a driver does 215 the chance that a driver does not properly quiesce bus-mastering 216 after a suspend callback the p 216 after a suspend callback the platform will handle it. However, 217 the activation might abort if, 217 the activation might abort if, for example, platform firmware 218 determines that the activation 218 determines that the activation time exceeds the max PCI-E 219 completion timeout. Since the 219 completion timeout. Since the platform does not know whether the 220 OS is running the activation f 220 OS is running the activation from a suspend context it aborts, 221 but if the system owner trusts 221 but if the system owner trusts driver suspend callback to be 222 sufficient then 'firmware_acti 222 sufficient then 'firmware_activation_noidle' can be 223 enabled to bypass the activati 223 enabled to bypass the activation abort. 224 224 225 What: /sys/bus/nd/devices/regionX/nf 225 What: /sys/bus/nd/devices/regionX/nfit/range_index 226 Date: Jun, 2015 226 Date: Jun, 2015 227 KernelVersion: v4.2 227 KernelVersion: v4.2 228 Contact: nvdimm@lists.linux.dev 228 Contact: nvdimm@lists.linux.dev 229 Description: 229 Description: 230 (RO) A unique number provided 230 (RO) A unique number provided by the BIOS to identify an address 231 range. Used by NVDIMM Region M 231 range. Used by NVDIMM Region Mapping Structure to uniquely refer 232 to this structure. Value of 0 232 to this structure. Value of 0 is reserved and not used as an 233 index. 233 index.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.