Back to home page

OSCL-LXR

 
 

    


0001 For all of the nmem device attributes under ``nfit/*``, see the 'NVDIMM Firmware
0002 Interface Table (NFIT)' section in the ACPI specification
0003 (http://www.uefi.org/specifications) for more details.
0004 
0005 What:           /sys/bus/nd/devices/nmemX/nfit/serial
0006 Date:           Jun, 2015
0007 KernelVersion:  v4.2
0008 Contact:        nvdimm@lists.linux.dev
0009 Description:
0010                 (RO) Serial number of the NVDIMM (non-volatile dual in-line
0011                 memory module), assigned by the module vendor.
0012 
0013 
0014 What:           /sys/bus/nd/devices/nmemX/nfit/handle
0015 Date:           Apr, 2015
0016 KernelVersion:  v4.2
0017 Contact:        nvdimm@lists.linux.dev
0018 Description:
0019                 (RO) The address (given by the _ADR object) of the device on its
0020                 parent bus of the NVDIMM device containing the NVDIMM region.
0021 
0022 
0023 What:           /sys/bus/nd/devices/nmemX/nfit/device
0024 Date:           Apr, 2015
0025 KernelVersion:  v4.1
0026 Contact:        nvdimm@lists.linux.dev
0027 Description:
0028                 (RO) Device id for the NVDIMM, assigned by the module vendor.
0029 
0030 
0031 What:           /sys/bus/nd/devices/nmemX/nfit/rev_id
0032 Date:           Jun, 2015
0033 KernelVersion:  v4.2
0034 Contact:        nvdimm@lists.linux.dev
0035 Description:
0036                 (RO) Revision of the NVDIMM, assigned by the module vendor.
0037 
0038 
0039 What:           /sys/bus/nd/devices/nmemX/nfit/phys_id
0040 Date:           Apr, 2015
0041 KernelVersion:  v4.2
0042 Contact:        nvdimm@lists.linux.dev
0043 Description:
0044                 (RO) Handle (i.e., instance number) for the SMBIOS (system
0045                 management BIOS) Memory Device structure describing the NVDIMM
0046                 containing the NVDIMM region.
0047 
0048 
0049 What:           /sys/bus/nd/devices/nmemX/nfit/flags
0050 Date:           Jun, 2015
0051 KernelVersion:  v4.2
0052 Contact:        nvdimm@lists.linux.dev
0053 Description:
0054                 (RO) The flags in the NFIT memory device sub-structure indicate
0055                 the state of the data on the nvdimm relative to its energy
0056                 source or last "flush to persistence".
0057 
0058                 The attribute is a translation of the 'NVDIMM State Flags' field
0059                 in section 5.2.25.3 'NVDIMM Region Mapping' Structure of the
0060                 ACPI specification 6.2.
0061 
0062                 The health states are "save_fail", "restore_fail", "flush_fail",
0063                 "not_armed", "smart_event", "map_fail" and "smart_notify".
0064 
0065 
0066 What:           /sys/bus/nd/devices/nmemX/nfit/format
0067 What:           /sys/bus/nd/devices/nmemX/nfit/format1
0068 What:           /sys/bus/nd/devices/nmemX/nfit/formats
0069 Date:           Apr, 2016
0070 KernelVersion:  v4.7
0071 Contact:        nvdimm@lists.linux.dev
0072 Description:
0073                 (RO) The interface codes indicate support for persistent memory
0074                 mapped directly into system physical address space and / or a
0075                 block aperture access mechanism to the NVDIMM media.
0076                 The 'formats' attribute displays the number of supported
0077                 interfaces.
0078 
0079                 This layout is compatible with existing libndctl binaries that
0080                 only expect one code per-dimm as they will ignore
0081                 nmemX/nfit/formats and nmemX/nfit/formatN.
0082 
0083 
0084 What:           /sys/bus/nd/devices/nmemX/nfit/vendor
0085 Date:           Apr, 2016
0086 KernelVersion:  v4.7
0087 Contact:        nvdimm@lists.linux.dev
0088 Description:
0089                 (RO) Vendor id of the NVDIMM.
0090 
0091 
0092 What:           /sys/bus/nd/devices/nmemX/nfit/dsm_mask
0093 Date:           May, 2016
0094 KernelVersion:  v4.7
0095 Contact:        nvdimm@lists.linux.dev
0096 Description:
0097                 (RO) The bitmask indicates the supported device specific control
0098                 functions relative to the NVDIMM command family supported by the
0099                 device
0100 
0101 
0102 What:           /sys/bus/nd/devices/nmemX/nfit/family
0103 Date:           Apr, 2016
0104 KernelVersion:  v4.7
0105 Contact:        nvdimm@lists.linux.dev
0106 Description:
0107                 (RO) Displays the NVDIMM family command sets. Values
0108                 0, 1, 2 and 3 correspond to NVDIMM_FAMILY_INTEL,
0109                 NVDIMM_FAMILY_HPE1, NVDIMM_FAMILY_HPE2 and NVDIMM_FAMILY_MSFT
0110                 respectively.
0111 
0112                 See the specifications for these command families here:
0113                 http://pmem.io/documents/NVDIMM_DSM_Interface-V1.6.pdf
0114                 https://github.com/HewlettPackard/hpe-nvm/blob/master/Documentation/
0115                 https://msdn.microsoft.com/library/windows/hardware/mt604741"
0116 
0117 
0118 What:           /sys/bus/nd/devices/nmemX/nfit/id
0119 Date:           Apr, 2016
0120 KernelVersion:  v4.7
0121 Contact:        nvdimm@lists.linux.dev
0122 Description:
0123                 (RO) ACPI specification 6.2 section 5.2.25.9, defines an
0124                 identifier for an NVDIMM, which refelects the id attribute.
0125 
0126 
0127 What:           /sys/bus/nd/devices/nmemX/nfit/subsystem_vendor
0128 Date:           Apr, 2016
0129 KernelVersion:  v4.7
0130 Contact:        nvdimm@lists.linux.dev
0131 Description:
0132                 (RO) Sub-system vendor id of the NVDIMM non-volatile memory
0133                 subsystem controller.
0134 
0135 
0136 What:           /sys/bus/nd/devices/nmemX/nfit/subsystem_rev_id
0137 Date:           Apr, 2016
0138 KernelVersion:  v4.7
0139 Contact:        nvdimm@lists.linux.dev
0140 Description:
0141                 (RO) Sub-system revision id of the NVDIMM non-volatile memory subsystem
0142                 controller, assigned by the non-volatile memory subsystem
0143                 controller vendor.
0144 
0145 
0146 What:           /sys/bus/nd/devices/nmemX/nfit/subsystem_device
0147 Date:           Apr, 2016
0148 KernelVersion:  v4.7
0149 Contact:        nvdimm@lists.linux.dev
0150 Description:
0151                 (RO) Sub-system device id for the NVDIMM non-volatile memory
0152                 subsystem controller, assigned by the non-volatile memory
0153                 subsystem controller vendor.
0154 
0155 
0156 What:           /sys/bus/nd/devices/ndbusX/nfit/revision
0157 Date:           Jun, 2015
0158 KernelVersion:  v4.2
0159 Contact:        nvdimm@lists.linux.dev
0160 Description:
0161                 (RO) ACPI NFIT table revision number.
0162 
0163 
0164 What:           /sys/bus/nd/devices/ndbusX/nfit/scrub
0165 Date:           Sep, 2016
0166 KernelVersion:  v4.9
0167 Contact:        nvdimm@lists.linux.dev
0168 Description:
0169                 (RW) This shows the number of full Address Range Scrubs (ARS)
0170                 that have been completed since driver load time. Userspace can
0171                 wait on this using select/poll etc. A '+' at the end indicates
0172                 an ARS is in progress
0173 
0174                 Writing a value of 1 triggers an ARS scan.
0175 
0176 
0177 What:           /sys/bus/nd/devices/ndbusX/nfit/hw_error_scrub
0178 Date:           Sep, 2016
0179 KernelVersion:  v4.9
0180 Contact:        nvdimm@lists.linux.dev
0181 Description:
0182                 (RW) Provides a way to toggle the behavior between just adding
0183                 the address (cache line) where the MCE happened to the poison
0184                 list and doing a full scrub. The former (selective insertion of
0185                 the address) is done unconditionally.
0186 
0187                 This attribute can have the following values written to it:
0188 
0189                 '0': Switch to the default mode where an exception will only
0190                 insert the address of the memory error into the poison and
0191                 badblocks lists.
0192                 '1': Enable a full scrub to happen if an exception for a memory
0193                 error is received.
0194 
0195 
0196 What:           /sys/bus/nd/devices/ndbusX/nfit/dsm_mask
0197 Date:           Jun, 2017
0198 KernelVersion:  v4.13
0199 Contact:        nvdimm@lists.linux.dev
0200 Description:
0201                 (RO) The bitmask indicates the supported bus specific control
0202                 functions. See the section named 'NVDIMM Root Device _DSMs' in
0203                 the ACPI specification.
0204 
0205 What:           /sys/bus/nd/devices/ndbusX/nfit/firmware_activate_noidle
0206 Date:           Apr, 2020
0207 KernelVersion:  v5.8
0208 Contact:        nvdimm@lists.linux.dev
0209 Description:
0210                 (RW) The Intel platform implementation of firmware activate
0211                 support exposes an option let the platform force idle devices in
0212                 the system over the activation event, or trust that the OS will
0213                 do it. The safe default is to let the platform force idle
0214                 devices since the kernel is already in a suspend state, and on
0215                 the chance that a driver does not properly quiesce bus-mastering
0216                 after a suspend callback the platform will handle it.  However,
0217                 the activation might abort if, for example, platform firmware
0218                 determines that the activation time exceeds the max PCI-E
0219                 completion timeout. Since the platform does not know whether the
0220                 OS is running the activation from a suspend context it aborts,
0221                 but if the system owner trusts driver suspend callback to be
0222                 sufficient then 'firmware_activation_noidle' can be
0223                 enabled to bypass the activation abort.
0224 
0225 What:           /sys/bus/nd/devices/regionX/nfit/range_index
0226 Date:           Jun, 2015
0227 KernelVersion:  v4.2
0228 Contact:        nvdimm@lists.linux.dev
0229 Description:
0230                 (RO) A unique number provided by the BIOS to identify an address
0231                 range. Used by NVDIMM Region Mapping Structure to uniquely refer
0232                 to this structure. Value of 0 is reserved and not used as an
0233                 index.