234 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			234 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
For all of the nmem device attributes under ``nfit/*``, see the 'NVDIMM Firmware
 | 
						|
Interface Table (NFIT)' section in the ACPI specification
 | 
						|
(http://www.uefi.org/specifications) for more details.
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/serial
 | 
						|
Date:		Jun, 2015
 | 
						|
KernelVersion:	v4.2
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) Serial number of the NVDIMM (non-volatile dual in-line
 | 
						|
		memory module), assigned by the module vendor.
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/handle
 | 
						|
Date:		Apr, 2015
 | 
						|
KernelVersion:	v4.2
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) The address (given by the _ADR object) of the device on its
 | 
						|
		parent bus of the NVDIMM device containing the NVDIMM region.
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/device
 | 
						|
Date:		Apr, 2015
 | 
						|
KernelVersion:	v4.1
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) Device id for the NVDIMM, assigned by the module vendor.
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/rev_id
 | 
						|
Date:		Jun, 2015
 | 
						|
KernelVersion:	v4.2
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) Revision of the NVDIMM, assigned by the module vendor.
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/phys_id
 | 
						|
Date:		Apr, 2015
 | 
						|
KernelVersion:	v4.2
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) Handle (i.e., instance number) for the SMBIOS (system
 | 
						|
		management BIOS) Memory Device structure describing the NVDIMM
 | 
						|
		containing the NVDIMM region.
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/flags
 | 
						|
Date:		Jun, 2015
 | 
						|
KernelVersion:	v4.2
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) The flags in the NFIT memory device sub-structure indicate
 | 
						|
		the state of the data on the nvdimm relative to its energy
 | 
						|
		source or last "flush to persistence".
 | 
						|
 | 
						|
		The attribute is a translation of the 'NVDIMM State Flags' field
 | 
						|
		in section 5.2.25.3 'NVDIMM Region Mapping' Structure of the
 | 
						|
		ACPI specification 6.2.
 | 
						|
 | 
						|
		The health states are "save_fail", "restore_fail", "flush_fail",
 | 
						|
		"not_armed", "smart_event", "map_fail" and "smart_notify".
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/format
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/format1
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/formats
 | 
						|
Date:		Apr, 2016
 | 
						|
KernelVersion:	v4.7
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) The interface codes indicate support for persistent memory
 | 
						|
		mapped directly into system physical address space and / or a
 | 
						|
		block aperture access mechanism to the NVDIMM media.
 | 
						|
		The 'formats' attribute displays the number of supported
 | 
						|
		interfaces.
 | 
						|
 | 
						|
		This layout is compatible with existing libndctl binaries that
 | 
						|
		only expect one code per-dimm as they will ignore
 | 
						|
		nmemX/nfit/formats and nmemX/nfit/formatN.
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/vendor
 | 
						|
Date:		Apr, 2016
 | 
						|
KernelVersion:	v4.7
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) Vendor id of the NVDIMM.
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/dsm_mask
 | 
						|
Date:		May, 2016
 | 
						|
KernelVersion:	v4.7
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) The bitmask indicates the supported device specific control
 | 
						|
		functions relative to the NVDIMM command family supported by the
 | 
						|
		device
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/family
 | 
						|
Date:		Apr, 2016
 | 
						|
KernelVersion:	v4.7
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) Displays the NVDIMM family command sets. Values
 | 
						|
		0, 1, 2 and 3 correspond to NVDIMM_FAMILY_INTEL,
 | 
						|
		NVDIMM_FAMILY_HPE1, NVDIMM_FAMILY_HPE2 and NVDIMM_FAMILY_MSFT
 | 
						|
		respectively.
 | 
						|
 | 
						|
		See the specifications for these command families here:
 | 
						|
		http://pmem.io/documents/NVDIMM_DSM_Interface-V1.6.pdf
 | 
						|
		https://github.com/HewlettPackard/hpe-nvm/blob/master/Documentation/
 | 
						|
		https://msdn.microsoft.com/library/windows/hardware/mt604741"
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/id
 | 
						|
Date:		Apr, 2016
 | 
						|
KernelVersion:	v4.7
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) ACPI specification 6.2 section 5.2.25.9, defines an
 | 
						|
		identifier for an NVDIMM, which refelects the id attribute.
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/subsystem_vendor
 | 
						|
Date:		Apr, 2016
 | 
						|
KernelVersion:	v4.7
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) Sub-system vendor id of the NVDIMM non-volatile memory
 | 
						|
		subsystem controller.
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/subsystem_rev_id
 | 
						|
Date:		Apr, 2016
 | 
						|
KernelVersion:	v4.7
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) Sub-system revision id of the NVDIMM non-volatile memory subsystem
 | 
						|
		controller, assigned by the non-volatile memory subsystem
 | 
						|
		controller vendor.
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/nmemX/nfit/subsystem_device
 | 
						|
Date:		Apr, 2016
 | 
						|
KernelVersion:	v4.7
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) Sub-system device id for the NVDIMM non-volatile memory
 | 
						|
		subsystem controller, assigned by the non-volatile memory
 | 
						|
		subsystem controller vendor.
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/ndbusX/nfit/revision
 | 
						|
Date:		Jun, 2015
 | 
						|
KernelVersion:	v4.2
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) ACPI NFIT table revision number.
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/ndbusX/nfit/scrub
 | 
						|
Date:		Sep, 2016
 | 
						|
KernelVersion:	v4.9
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RW) This shows the number of full Address Range Scrubs (ARS)
 | 
						|
		that have been completed since driver load time. Userspace can
 | 
						|
		wait on this using select/poll etc. A '+' at the end indicates
 | 
						|
		an ARS is in progress
 | 
						|
 | 
						|
		Writing a value of 1 triggers an ARS scan.
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/ndbusX/nfit/hw_error_scrub
 | 
						|
Date:		Sep, 2016
 | 
						|
KernelVersion:	v4.9
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RW) Provides a way to toggle the behavior between just adding
 | 
						|
		the address (cache line) where the MCE happened to the poison
 | 
						|
		list and doing a full scrub. The former (selective insertion of
 | 
						|
		the address) is done unconditionally.
 | 
						|
 | 
						|
		This attribute can have the following values written to it:
 | 
						|
 | 
						|
		'0': Switch to the default mode where an exception will only
 | 
						|
		insert the address of the memory error into the poison and
 | 
						|
		badblocks lists.
 | 
						|
		'1': Enable a full scrub to happen if an exception for a memory
 | 
						|
		error is received.
 | 
						|
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/ndbusX/nfit/dsm_mask
 | 
						|
Date:		Jun, 2017
 | 
						|
KernelVersion:	v4.13
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) The bitmask indicates the supported bus specific control
 | 
						|
		functions. See the section named 'NVDIMM Root Device _DSMs' in
 | 
						|
		the ACPI specification.
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/ndbusX/nfit/firmware_activate_noidle
 | 
						|
Date:		Apr, 2020
 | 
						|
KernelVersion:	v5.8
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RW) The Intel platform implementation of firmware activate
 | 
						|
		support exposes an option let the platform force idle devices in
 | 
						|
		the system over the activation event, or trust that the OS will
 | 
						|
		do it. The safe default is to let the platform force idle
 | 
						|
		devices since the kernel is already in a suspend state, and on
 | 
						|
		the chance that a driver does not properly quiesce bus-mastering
 | 
						|
		after a suspend callback the platform will handle it.  However,
 | 
						|
		the activation might abort if, for example, platform firmware
 | 
						|
		determines that the activation time exceeds the max PCI-E
 | 
						|
		completion timeout. Since the platform does not know whether the
 | 
						|
		OS is running the activation from a suspend context it aborts,
 | 
						|
		but if the system owner trusts driver suspend callback to be
 | 
						|
		sufficient then 'firmware_activation_noidle' can be
 | 
						|
		enabled to bypass the activation abort.
 | 
						|
 | 
						|
What:		/sys/bus/nd/devices/regionX/nfit/range_index
 | 
						|
Date:		Jun, 2015
 | 
						|
KernelVersion:	v4.2
 | 
						|
Contact:	nvdimm@lists.linux.dev
 | 
						|
Description:
 | 
						|
		(RO) A unique number provided by the BIOS to identify an address
 | 
						|
		range. Used by NVDIMM Region Mapping Structure to uniquely refer
 | 
						|
		to this structure. Value of 0 is reserved and not used as an
 | 
						|
		index.
 |