234 lines · plain
1For all of the nmem device attributes under ``nfit/*``, see the 'NVDIMM Firmware2Interface Table (NFIT)' section in the ACPI specification3(http://www.uefi.org/specifications) for more details.4 5What: /sys/bus/nd/devices/nmemX/nfit/serial6Date: Jun, 20157KernelVersion: v4.28Contact: nvdimm@lists.linux.dev9Description:10 (RO) Serial number of the NVDIMM (non-volatile dual in-line11 memory module), assigned by the module vendor.12 13 14What: /sys/bus/nd/devices/nmemX/nfit/handle15Date: Apr, 201516KernelVersion: v4.217Contact: nvdimm@lists.linux.dev18Description:19 (RO) The address (given by the _ADR object) of the device on its20 parent bus of the NVDIMM device containing the NVDIMM region.21 22 23What: /sys/bus/nd/devices/nmemX/nfit/device24Date: Apr, 201525KernelVersion: v4.126Contact: nvdimm@lists.linux.dev27Description:28 (RO) Device id for the NVDIMM, assigned by the module vendor.29 30 31What: /sys/bus/nd/devices/nmemX/nfit/rev_id32Date: Jun, 201533KernelVersion: v4.234Contact: nvdimm@lists.linux.dev35Description:36 (RO) Revision of the NVDIMM, assigned by the module vendor.37 38 39What: /sys/bus/nd/devices/nmemX/nfit/phys_id40Date: Apr, 201541KernelVersion: v4.242Contact: nvdimm@lists.linux.dev43Description:44 (RO) Handle (i.e., instance number) for the SMBIOS (system45 management BIOS) Memory Device structure describing the NVDIMM46 containing the NVDIMM region.47 48 49What: /sys/bus/nd/devices/nmemX/nfit/flags50Date: Jun, 201551KernelVersion: v4.252Contact: nvdimm@lists.linux.dev53Description:54 (RO) The flags in the NFIT memory device sub-structure indicate55 the state of the data on the nvdimm relative to its energy56 source or last "flush to persistence".57 58 The attribute is a translation of the 'NVDIMM State Flags' field59 in section 5.2.25.3 'NVDIMM Region Mapping' Structure of the60 ACPI specification 6.2.61 62 The health states are "save_fail", "restore_fail", "flush_fail",63 "not_armed", "smart_event", "map_fail" and "smart_notify".64 65 66What: /sys/bus/nd/devices/nmemX/nfit/format67What: /sys/bus/nd/devices/nmemX/nfit/format168What: /sys/bus/nd/devices/nmemX/nfit/formats69Date: Apr, 201670KernelVersion: v4.771Contact: nvdimm@lists.linux.dev72Description:73 (RO) The interface codes indicate support for persistent memory74 mapped directly into system physical address space and / or a75 block aperture access mechanism to the NVDIMM media.76 The 'formats' attribute displays the number of supported77 interfaces.78 79 This layout is compatible with existing libndctl binaries that80 only expect one code per-dimm as they will ignore81 nmemX/nfit/formats and nmemX/nfit/formatN.82 83 84What: /sys/bus/nd/devices/nmemX/nfit/vendor85Date: Apr, 201686KernelVersion: v4.787Contact: nvdimm@lists.linux.dev88Description:89 (RO) Vendor id of the NVDIMM.90 91 92What: /sys/bus/nd/devices/nmemX/nfit/dsm_mask93Date: May, 201694KernelVersion: v4.795Contact: nvdimm@lists.linux.dev96Description:97 (RO) The bitmask indicates the supported device specific control98 functions relative to the NVDIMM command family supported by the99 device100 101 102What: /sys/bus/nd/devices/nmemX/nfit/family103Date: Apr, 2016104KernelVersion: v4.7105Contact: nvdimm@lists.linux.dev106Description:107 (RO) Displays the NVDIMM family command sets. Values108 0, 1, 2 and 3 correspond to NVDIMM_FAMILY_INTEL,109 NVDIMM_FAMILY_HPE1, NVDIMM_FAMILY_HPE2 and NVDIMM_FAMILY_MSFT110 respectively.111 112 See the specifications for these command families here:113 http://pmem.io/documents/NVDIMM_DSM_Interface-V1.6.pdf114 https://github.com/HewlettPackard/hpe-nvm/blob/master/Documentation/115 https://msdn.microsoft.com/library/windows/hardware/mt604741"116 117 118What: /sys/bus/nd/devices/nmemX/nfit/id119Date: Apr, 2016120KernelVersion: v4.7121Contact: nvdimm@lists.linux.dev122Description:123 (RO) ACPI specification 6.2 section 5.2.25.9, defines an124 identifier for an NVDIMM, which reflects the id attribute.125 126 127What: /sys/bus/nd/devices/nmemX/nfit/subsystem_vendor128Date: Apr, 2016129KernelVersion: v4.7130Contact: nvdimm@lists.linux.dev131Description:132 (RO) Sub-system vendor id of the NVDIMM non-volatile memory133 subsystem controller.134 135 136What: /sys/bus/nd/devices/nmemX/nfit/subsystem_rev_id137Date: Apr, 2016138KernelVersion: v4.7139Contact: nvdimm@lists.linux.dev140Description:141 (RO) Sub-system revision id of the NVDIMM non-volatile memory subsystem142 controller, assigned by the non-volatile memory subsystem143 controller vendor.144 145 146What: /sys/bus/nd/devices/nmemX/nfit/subsystem_device147Date: Apr, 2016148KernelVersion: v4.7149Contact: nvdimm@lists.linux.dev150Description:151 (RO) Sub-system device id for the NVDIMM non-volatile memory152 subsystem controller, assigned by the non-volatile memory153 subsystem controller vendor.154 155 156What: /sys/bus/nd/devices/ndbusX/nfit/revision157Date: Jun, 2015158KernelVersion: v4.2159Contact: nvdimm@lists.linux.dev160Description:161 (RO) ACPI NFIT table revision number.162 163 164What: /sys/bus/nd/devices/ndbusX/nfit/scrub165Date: Sep, 2016166KernelVersion: v4.9167Contact: nvdimm@lists.linux.dev168Description:169 (RW) This shows the number of full Address Range Scrubs (ARS)170 that have been completed since driver load time. Userspace can171 wait on this using select/poll etc. A '+' at the end indicates172 an ARS is in progress173 174 Writing a value of 1 triggers an ARS scan.175 176 177What: /sys/bus/nd/devices/ndbusX/nfit/hw_error_scrub178Date: Sep, 2016179KernelVersion: v4.9180Contact: nvdimm@lists.linux.dev181Description:182 (RW) Provides a way to toggle the behavior between just adding183 the address (cache line) where the MCE happened to the poison184 list and doing a full scrub. The former (selective insertion of185 the address) is done unconditionally.186 187 This attribute can have the following values written to it:188 189 '0': Switch to the default mode where an exception will only190 insert the address of the memory error into the poison and191 badblocks lists.192 '1': Enable a full scrub to happen if an exception for a memory193 error is received.194 195 196What: /sys/bus/nd/devices/ndbusX/nfit/dsm_mask197Date: Jun, 2017198KernelVersion: v4.13199Contact: nvdimm@lists.linux.dev200Description:201 (RO) The bitmask indicates the supported bus specific control202 functions. See the section named 'NVDIMM Root Device _DSMs' in203 the ACPI specification.204 205What: /sys/bus/nd/devices/ndbusX/nfit/firmware_activate_noidle206Date: Apr, 2020207KernelVersion: v5.8208Contact: nvdimm@lists.linux.dev209Description:210 (RW) The Intel platform implementation of firmware activate211 support exposes an option let the platform force idle devices in212 the system over the activation event, or trust that the OS will213 do it. The safe default is to let the platform force idle214 devices since the kernel is already in a suspend state, and on215 the chance that a driver does not properly quiesce bus-mastering216 after a suspend callback the platform will handle it. However,217 the activation might abort if, for example, platform firmware218 determines that the activation time exceeds the max PCI-E219 completion timeout. Since the platform does not know whether the220 OS is running the activation from a suspend context it aborts,221 but if the system owner trusts driver suspend callback to be222 sufficient then 'firmware_activation_noidle' can be223 enabled to bypass the activation abort.224 225What: /sys/bus/nd/devices/regionX/nfit/range_index226Date: Jun, 2015227KernelVersion: v4.2228Contact: nvdimm@lists.linux.dev229Description:230 (RO) A unique number provided by the BIOS to identify an address231 range. Used by NVDIMM Region Mapping Structure to uniquely refer232 to this structure. Value of 0 is reserved and not used as an233 index.234