次の方法で共有


バックアップ電源を備えた 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" は "エネルギー ソース ポリシー" を表します。

関数インデックス 関数名 デバイス管理 ESP の必須事項 Host-Managed ESP の必須事項
0 実装されている関数のクエリ (関数インデックス 0) はい はい
1 NVDIMM-N ID の取得 (関数インデックス 1) はい はい
2 保存操作要件の取得 (関数インデックス 2) はい はい
3 動力源 ID の取得 (関数インデックス 3) はい はい
4 最終バックアップ情報の取得 (関数インデックス 4) はい はい
5 NVM しきい値の取得 (関数インデックス 5) はい はい
6 NVM 有効期間の割合に関する警告しきい値の設定 (関数インデックス 6) はい はい
7 電力源しきい値の取得 (関数インデックス 7) はい いいえ
8 電力源の有効期間に関する警告しきい値の設定 (関数インデックス 8) はい いいえ
9 電力源の温度に関する警告しきい値の設定 (関数インデックス 9) はい いいえ
10 正常性に関する重要な情報の取得 (関数インデックス 10) はい はい
11 NVDIMM-N の正常性に関する情報の取得 (関数インデックス 11) はい はい
12 電力源の正常性に関する情報の取得 (関数インデックス 12) はい いいえ
13 操作に関する統計情報の取得 (関数インデックス 13) はい はい
14 ベンダーのログ ページ サイズの取得 (関数インデックス 14) はい はい
15 ベンダーのログ ページの取得 (関数インデックス 15) はい はい
16 エラー挿入状態のクエリ (関数インデックス 16) はい はい
17 エラーの挿入 (関数インデックス 17) はい はい
18 挿入されたエラーの取得 (関数インデックス 18) はい はい
19 NVM イメージの消去 (関数インデックス 19) はい はい
20 NVDIMM-N の遮断 (関数インデックス 20) はい はい
21 出荷時の既定値へのリセット (関数インデックス 21) はい はい
22 ファームウェア更新の開始 (関数インデックス 22) はい はい
23 ファームウェア更新データの送信 (関数インデックス 23) はい はい
24 ファームウェア更新の終了 (関数インデックス 24) はい はい
25 ファームウェア イメージ スロットの選択 (関数インデックス 25) はい はい
26 ファームウェア情報の取得 (関数インデックス 26) はい はい
27 I2C 読み取り (関数インデックス 27) はい はい
28 I2C 書き込み (関数インデックス 28) はい はい
29 型指定されたデータの読み取り (関数インデックス 29) はい はい
30 型指定されたデータの書き込み (関数インデックス 30) はい はい
31 メモリ エラー カウンターの設定 (関数インデックス 31) はい はい

_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 関連の情報は、フィールドの説明で指定されたハードウェア レジスタと同じバイナリ レイアウトで表示されます。