_DSM Interface for JEDEC Byte Addressable Energy Backed Function Class (Function Interface 1)
This section describes the Device-Specific Method (_DSM) interface that is designed to map to the JEDEC Byte Addressable Energy Backed Interface standard in order to minimize BIOS complexity. It provides a common basis of reporting device functions & capabilities, such that OS software can interact with various implementations through the same mechanisms. Further, it allows support for vendor-specific functionality through access to I2C registers.
Platforms that conform to the _DSM Interface for Byte Addressable Energy Backed Function Class (Function Interface 1) can support an NVDIMM-N that implements the JEDEC Byte Addressable Energy Backed Interface specification (function class 0x01 and function interface 0x01). For more info, see the JEDEC Byte Addressable Energy Backed Interface specification (document JESD245).
GUID definition
The GUID for the JEDEC Byte Addressable Energy Backed Function Class _DSM interface is 1EE68B36-D4BD-4a1a-9A16-4F8E53D46E05
.
Mandatory functions and fields
The _DSM functions defined in this section should be implemented in NVDIMM ACPI Namespace device objects. The term Mandatory refers to whether the function must return valid data or not.
The following table specifies the functions and fields that are mandatory, where "ESP" stands for "Energy Source Policy".
_DSM Method Input
Arg3 to all functions is a Package value. If the function doesn't take an input argument, the Package value contains no data. If the function takes an input argument, the Package value contains a buffer.
If the function doesn't take an input argument and Arg3 isn't an empty Package, the function shall return the General Status Code of Invalid Input Parameters.
_DSM Method Output
All methods will return a buffer of length greater than or equal to 4 bytes. The first 4 bytes of the return buffer are structured as follows:
Field | Byte length | Byte offset | Description |
---|---|---|---|
General Status Code | 2 | 0 | The general status code. See below for possible values. |
Function-Specific Error Code | 1 | 2 | An error code that is specific to the function that was called. This field only contains valid information if General Status Code is equal to Function-Specific Error Code. |
Vendor-Specific Error Code | 1 | 3 | Vendor-specific status codes. This field only contains valid information if General Status Code is equal to Vendor-Specific Error Code. |
The following are the possible values for the General Status Code.
Value | Meaning |
---|---|
0 | Success |
1 | Not Supported |
2 | Invalid Input Parameters |
3 | I2C Communication Error |
4 | Function-Specific Error Code |
5 | Vendor-Specific Error Code |
6 | 0xFFFF – Reserved |
Any non-zero General Status Code indicates that the function failed. No function defined in this version of the specification shall return the General Status Code of Not Supported. All mandatory functions shall return valid data or an error code indicating a runtime error. Non-mandatory functions may return a Function-Specific Error Code to signal that there's no valid data to be returned.
All reserved bits and bytes shall have a value of 0. Unless stated otherwise, all multi-byte fields shall be represented in a little-endian manner.
Note
A reference to a Byte Addressable Energy-Backed Interface register describes many return fields for functions specified in this interface. These fields shall be identical to the register defined in the "Byte Addressable Energy Backed Interface, version 1.0, JEDEC Standard No. 2233-22" revision of the Byte-Addressable Energy-Backed Interface specification. The specification version is reported in the Specification Revision field returned by the Get NVDIMM-N Identification (Function Index 1) function.
Some return fields refer to information about the Energy Source (ES). When the ES policy is device-managed, the platform shall read the hardware register specified in the field description to retrieve all ES-related information. When the ES policy is host-managed, the platform shall obtain the ES-related information through platform-specific mechanisms. In this case, all ES-related information shall be presented in the same binary layout as the hardware register specified in the field description.