cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

sysfs-bus-nfit (7524B)


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