sysfs-bus-nfit 7.4 KB

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