バックアップ電源を備えた JEDEC バイト アドレス指定可能な機能クラスの _DSM インターフェイス (機能インターフェイス 1)
このセクションでは、BIOS の 複雑さを最小限に抑えるために JEDEC Byte Addressable Energy Backed Interface 標準にマップするように設計されたデバイス固有のメソッド (_DSM) インターフェイスについて説明します。 これは、OSソフトウェアが同じメカニズムを使用してさまざまな実装と対話できるように、デバイス & 関数の機能を報告する共通の基礎を提供します。 さらに、I2Cレジスタへのアクセスを通じてベンダー固有の機能をサポートできます。
Byte Addressable Energy Backed Function Class (関数インターフェイス 1) の _DSM インターフェイス準拠のプラットフォームでは、JEDEC Byte Addressable Energy Backed Interface (関数クラス 0x01 および関数インターフェイス 0x01) 仕様を実装する NVDIMM-N をサポートできます。 詳細については、「JEDEC Byte Addressable Energy Backed Interface 仕様 (ドキュメント JESD245)」を参照してください。
[GUID の定義]
JEDEC Byte Addressable Energy Backed Function Class _DSM インターフェイス GUID は、1EE68B36-D4BD-4a1a-9A16-4F8E53D46E05
です。
必須の関数とフィールド
このセクションで定義する _DSM 関数は、NVDIMM ACPI 名前空間デバイス オブジェクトに実装する必要があります。 必須 (Mandatory) という用語は、関数が有効なデータを返す必要があるかどうかを指します。
次の表では、必須の関数とフィールドを指定します。ここでの "ESP" は "エネルギー ソース ポリシー" を表します。
_DSM メソッド入力
すべての関数に対する Arg3 は Package 値です。 関数が入力引数を受け取らない場合、Package 値にはデータが含まれません。 関数が入力引数を受け取る場合、Package 値にはバッファーが含まれます。
関数が入力引数を受け取らない場合で、Arg3 が空のパッケージでない場合、関数は無効な入力パラメーターの 一般ステータス コード を返す必要があります。
_DSM メソッド出力
すべてのメソッドは、4 バイト以上の長さのバッファーを返します。 リターン バッファーの最初の 4 バイトは、次のように構成されます。
フィールド | BYTE-LENGTH 関数 | バイトオフセット | 説明 |
---|---|---|---|
一般ステータス コード | 2 | 0 | 一般ステータス コード。 有効値については、以下を参照してください。 |
関数固有のエラー コード | 1 | 2 | 呼び出された関数固有のエラー コード。 このフィールドには、一般ステータス コードが関数固有のエラー コードと等しい場合にのみ有効な情報が含まれます。 |
ベンダー固有のエラーコード | 1 | 3 | ベンダー固有のステータス コード。 このフィールドには、一般ステータス コードがベンダー固有のエラー コードと等しい場合にのみ有効な情報が含まれます。 |
一般ステータス コードに使用できる値を次に示します。
Value | 意味 |
---|---|
0 | 成功 |
1 | サポートされていません |
2 | 無効な入力パラメータ |
3 | I2C 通信エラー |
4 | 関数固有のエラー コード |
5 | ベンダー固有のエラーコード |
6 | 0xFFFF – 予約済み |
ゼロ以外の 一般ステータス コード は、関数が失敗したことを示します。 このバージョンの仕様で定義されている関数は、サポートされていないステータス コードの一般的なステータス コードを返すものではありません。 すべての必須関数は、有効なデータまたはランタイム エラーを示すエラー コードを返す必要があります。 必須でない関数は、返される有効なデータがないことを示す関数固有のエラー コードを返す場合があります。
すべての予約済みビットとバイトの値は 0 になります。 特に明記されていない限り、すべてのマルチバイト フィールドはリトルエンディアン方式で表されます。
Note
Byte Addressable Energy-Backed Interface レジスタへの参照は、このインターフェイスで指定された関数の多くのリターン フィールドを記述します。 これらのフィールドは、Byte Addressable Energy Backed Interface 仕様の「Byte Addressable Energy Backed Interface Version 1.0, JEDEC Standard No. 2233-22」リビジョンで定義されているレジスタと同じである必要があります。 仕様バージョンは、Get NVDIMM-N Identification (関数インデックス 1) 関数によって返される [仕様リビジョン] フィールドで報告されます。
一部のリターン フィールドは、エネルギー源 (ES) に関する情報を参照します。 ES ポリシーがデバイスで管理されている場合、プラットフォームはフィールドの説明で指定されたハードウェア レジスタを読み取り、すべての ES 関連情報を取得します。 ES ポリシーがホストで管理されている場合、プラットフォームはプラットフォーム固有のメカニズムを使用して ES 関連の情報を取得する必要があります。 この場合、すべての ES 関連の情報は、フィールドの説明で指定されたハードウェア レジスタと同じバイナリ レイアウトで表示されます。