_DSM-Schnittstelle für JEDEC Byte Addressable Energy Backed Function Class (Funktionsschnittstelle 1)
In diesem Abschnitt wird die Schnittstelle device-Specific Method (_DSM) beschrieben, die für die Zuordnung zum JEDEC Byte Addressable Energy Backed Interface-Standard entwickelt wurde, um die BIOS-Komplexität zu minimieren. Es bietet eine gemeinsame Grundlage für die Meldung von Gerätefunktionen & Funktionen, sodass Betriebssystemsoftware mit verschiedenen Implementierungen über die gleichen Mechanismen interagieren kann. Darüber hinaus ermöglicht es die Unterstützung für anbieterspezifische Funktionen über den Zugriff auf I2C-Register.
Plattformen, die der _DSM Interface for Byte Addressable Energy Backed Function Class (Function Interface 1) entsprechen, können ein NVDIMM-N unterstützen, das die SPEZIFIKATION JEDEC Byte Addressable Energy Backed Interface (Funktionsklasse 0x01 und Funktionsschnittstelle 0x01) implementiert. Weitere Informationen finden Sie in der SPEZIFIKATION FÜR JEDEC Byte Addressable Energy Backed Interface (Dokument JESD245).
GUID-Definition
Die GUID für die JEDEC Byte Addressable Energy Backed Function Class _DSM-Schnittstelle ist 1EE68B36-D4BD-4a1a-9A16-4F8E53D46E05
.
Obligatorische Funktionen und Felder
Die in diesem Abschnitt definierten _DSM-Funktionen sollten in NVDIMM ACPI-Namespace-Geräteobjekten implementiert werden. Der Begriff Obligatorisch bezieht sich darauf, ob die Funktion gültige Daten zurückgeben muss oder nicht.
In der folgenden Tabelle sind die funktionen und felder angegeben, die obligatorisch sind, wobei "ESP" für "Energy Source Policy" steht.
_DSM-Methodeneingabe
Arg3 für alle Funktionen ist ein Package-Wert. Wenn die Funktion kein Eingabeargument akzeptiert, enthält der Package-Wert keine Daten. Wenn die Funktion ein Eingabeargument akzeptiert, enthält der Package-Wert einen Puffer.
Wenn die Funktion kein Eingabeargument akzeptiert und Arg3 kein leeres Paket ist, gibt die Funktion den allgemeinen Statuscode ungültiger Eingabeparameter zurück.
Ausgabe der _DSM-Methode
Alle Methoden geben einen Puffer mit einer Länge von mehr als oder gleich 4 Byte zurück. Die ersten 4 Bytes des Rückgabepuffers sind wie folgt strukturiert:
Feld | Bytelänge | Byteoffset | Beschreibung |
---|---|---|---|
Allgemeiner Statuscode | 2 | 0 | Der allgemeine status Code. Unten sind mögliche Werte aufgeführt. |
Function-Specific Fehlercode | 1 | 2 | Ein Fehlercode, der für die aufgerufene Funktion spezifisch ist. Dieses Feld enthält nur gültige Informationen, wenn der allgemeine Statuscode dem funktionsspezifischen Fehlercode entspricht. |
Anbieterspezifischer Fehlercode | 1 | 3 | Herstellerspezifische status Codes. Dieses Feld enthält nur gültige Informationen, wenn der allgemeine Statuscode gleich dem anbieterspezifischen Fehlercode ist. |
Im Folgenden sind die möglichen Werte für den Allgemeinen Statuscode aufgeführt.
Wert | Bedeutung |
---|---|
0 | Erfolgreich |
1 | Nicht unterstützt |
2 | Ungültige Eingabeparameter |
3 | I2C-Kommunikationsfehler |
4 | Function-Specific Fehlercode |
5 | Anbieterspezifischer Fehlercode |
6 | 0xFFFF – Reserviert |
Jeder Nicht-Null-Statuscode gibt an, dass die Funktion fehlgeschlagen ist. Keine funktion, die in dieser Version der Spezifikation definiert ist, gibt den Allgemeinen Statuscodenicht unterstützt zurück. Alle obligatorischen Funktionen geben gültige Daten oder einen Fehlercode zurück, der einen Laufzeitfehler angibt. Nicht obligatorische Funktionen geben möglicherweise einen Function-Specific Fehlercode zurück, um zu signalisieren, dass keine gültigen Daten zurückgegeben werden.
Alle reservierten Bits und Bytes müssen den Wert 0 aufweisen. Sofern nicht anders angegeben, sind alle Multibytefelder auf little-endian-Weise darzustellen.
Hinweis
Ein Verweis auf ein Byte Addressable Energy-Backed Interface-Register beschreibt viele Rückgabefelder für funktionen, die in dieser Schnittstelle angegeben sind. Diese Felder müssen mit dem Register identisch sein, das in der Überarbeitung der Byte-Addressable Energy-Backed Spezifikation "Byte Addressable Energy Backed Interface, Version 1.0, JEDEC Standard Nr. 2233-22" definiert ist. Die Spezifikationsversion wird im Feld Spezifikationsrevision gemeldet, das von der Funktion Get NVDIMM-N Identification (Function Index 1) zurückgegeben wird.
Einige Rückgabefelder beziehen sich auf Informationen zur Energiequelle (Es). Wenn die ES-Richtlinie geräteseitig verwaltet wird, liest die Plattform das in der Feldbeschreibung angegebene Hardwareregister, um alle ES-bezogenen Informationen abzurufen. Wenn die ES-Richtlinie vom Host verwaltet wird, erhält die Plattform die ES-bezogenen Informationen über plattformspezifische Mechanismen. In diesem Fall müssen alle ES-bezogenen Informationen im gleichen binären Layout wie das hardwarebasierte Register in der Feldbeschreibung dargestellt werden.