ACPI-Namespacehierarchie
Die ACPI-Namespacehierarchie muss die Hardwaretopologie der Plattform genau modellieren, beginnend mit dem Systembus des Prozessors ("_SB"). Im Allgemeinen wird ein Gerät, das eine Verbindung mit einem Bus oder Controller herstellt, als untergeordnetes Element dieses Bus- oder Controllergeräts im Namespace angezeigt.
Die folgenden Regeln gelten speziell für SoC-basierte Plattformen:
Speicherbezogene Funktionsblöcke (einschließlich Prozessoren) werden direkt unter dem knoten _SB angezeigt.
Peripheriegeräte, die eine Verbindung mit einer Kombination aus SPB-Controllern (Simple Peripheral Bus) und/oder GPIO-Controllern herstellen, beschreiben ihre Verbindungen mit diesen Controllern als Verbindungsressourcen. Weitere Informationen finden Sie unter Universell E/A (GPIO) und Simple Peripheral Bus (SPB).
Peripheriegeräte, die auf diese Weise verbunden sind, können direkt unter dem _SB Knoten oder unter einem übergeordneten SPB- oder GPIO-Controller angezeigt werden. Letzteres wird nach Möglichkeit bevorzugt, da es die Gerätebeziehung direkt im Namespace selbst angibt, anstatt die Decodierung von Ressourcen zum Ermitteln der Beziehung zu erfordern.
Funktionsblöcke oder Peripheriegeräte, die über einen Standardbus verbunden sind, der Die Hardwareaufzählung unterstützt (z. B. SDIO und USB), müssen überhaupt nicht im Namespace angezeigt werden.
In bestimmten Fällen müssen Sie diese Geräte jedoch unter ihrem übergeordneten Controller in den Namespace einschließen. Dies ist beispielsweise bei eingebetteten USB-HSIC- oder SDIO-Geräten erforderlich, bei denen plattformspezifische (nicht standardmäßige) Steuerungen (z. B. Netzschalter, GPIO- oder SPB-Verbindungen usw.) dem Gerät als Teil des Systementwurfs zugeordnet sind. In diesem Fall listet der übergeordnete Standardbustreiber das Gerät auf, aber der Windows ACPI-Treiber, Acpi.sys, wird als Filter im Gerätestapel geladen, um die Steuerungsmethoden für die nicht standardmäßigen Steuerelemente im Auftrag des Bustreibers bei Bedarf aufzurufen.
Alle "privaten" Busse oder Geräte (z. B. I2S), die der Verwendung eines Funktionstreibers (z. B. des Audiotreibers) gewidmet sind, müssen überhaupt nicht im Namespace angezeigt werden. In diesem Fall müssen jedoch alle vom Gerät verwendeten Systemressourcen in der Ressourcenliste des Funktionsgeräts im Namespace angezeigt werden. Weitere Informationen finden Sie im Abschnitt Gerätekonfigurationsobjekte im Thema Geräteverwaltungsnamespaceobjekte .
ACPI definiert viele Standardnamespaceobjekte und -methoden, aber Implementierer können neue objekte und methoden definieren, wenn sie benötigt werden. Die ACPI-definierten Objekte und Methoden werden für allgemeine Betriebssystemfunktionen wie die folgenden verwendet:
Plattformbeschreibung Beispiel: Geräteidentifikation und Systemressourcenzuordnung.
Generische Gerätesteuerung Beispiel: Konfigurieren von Ressourcen und Steuern von Energieressourcen.
Klassenspezifisches Featuresteuerelement Beispiel: Dimmen von Anzeigen oder Melden des Akkustatus.