Microsoft ASL-Compiler

Version 5.0 des Microsoft ACPI Source Language (ASL)-Compilers unterstützt die Features in der Advanced Configuration and Power Interface Specification, Revision 5.0 (ACPI 5.0-Spezifikation). Der ASL-Compiler wird mit dem Windows Driver Kit (WDK) verteilt.

Windows-Treiberkit (WDK) herunterladen

Der ASL-Compiler (asl.exe) befindet sich in den Verzeichnissen Tools\arm\ACPIVerify, Tools\arm64\ACPIVerify, Tools\x86\ACPIVerify und Tools\x64\ACPIVerify des installierten WDK, z. B C:\Program Files (x86)\Windows Kits\10\Tools\<build #>\<build architecture>\ACPIVerify. .

Sie müssen zuerst das SDK und dann das WDK installieren. Die Buildnummern für die beiden Kits müssen übereinstimmen.

Befehlszeilenoptionen

Der ASL-Compiler unterstützt mehrere Befehlszeilenoptionen. Führen Sie zum Auflisten von Versionsinformationen und verfügbaren Befehlszeilenoptionen den Befehl "asl /?" in einem Eingabeaufforderungsfenster aus.

ASL-Compilerverwendung

Der ASL-Compiler unterstützt die folgenden Befehlszeilenoptionen:

asl /?
asl [/nologo] /d <BinFile>
asl [/nologo] /u [/Fa=<ASMFile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>] <AMLFile>
asl [/nologo] /tab=<TabSig> [/c] [/Fa=<ASMfile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>]
asl [/nologo] [/Fo=<AMLFile>] [/Fa=<ASMFile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>] <ASLFile>
Option BESCHREIBUNG
? Drucken Sie diese Hilfenachricht.
nologo Unterdrücken Sie das Logobanner.
Fo=<AMLFile> Überschreiben Sie den AML-Dateinamen im DefinitionBlock.
Fa=<ASMFile> Generieren Sie ein . ASM-Datei mit dem Namen <ASMFile>.
Fn=<NSDFile> Generieren Sie eine NameSpace-Dumpdatei mit dem Namen <NSDFile>.
T Speichern Sie die Binärdatei in Textform.
u Heben Sie eine AML-Datei in einer auf. ASL-Datei (Standard) oder ein . LST-Datei.
tab=<TabSig> Heben Sie die Assemble ASL-Tabelle in einer auf. ASL-Datei (Standard) oder ein . LST-Datei. Speichern einer Nicht-ASL-Tabelle in einer .TXT-Datei. Wenn <TabSig> "*" ist, werden alle Tabellen in ACPI.TXT. <TabSig> kann auch die physische Adresse der Tabelle sein.
c Erstellen Sie Binärdateien aus Tabellen.

Verwenden des ACPI-table-load-Features des Microsoft ASL-Compilers

Während der Systementwicklung ist es hilfreich, verschiedene ACPI-BIOS-Konstrukte zu simulieren und im Entwicklungssystem zu testen. Das Windows-Betriebssystem ermöglicht das Laden bestimmter ACPI-Tabellen aus der Windows-Registrierung und nicht aus dem BIOS-ROM des PCs. Die Verwendung dieses Features erfordert Administratorrechte und erfordert außerdem, dass die Testsignatur auf dem System aktiviert ist. Bei Systemen, die den sicheren UEFI-Start unterstützen, kann die Testsignatur nicht aktiviert werden, und das Tabellenladefeature des Compilers kann nur verwendet werden, wenn der sichere UEFI-Start deaktiviert ist oder die Windows-Debugrichtlinie auf dem System installiert ist.

Um das Tabellenladefeature verwenden zu können, muss die zu überladende ACPI-Tabelle die folgenden Anforderungen erfüllen:

  • Die zu überladende Tabelle muss bereits im BIOS-ROM des Systems vorhanden sein. Für instance kann das DSDT überladen werden. Wenn der Computer jedoch kein SSDT hat, können Sie das Laden einer SSDT aus diesem Registrierungsüberschreibungsmechanismus nicht erzwingen.

  • Die Tabelle muss AML-Code enthalten, der normalerweise vom Windows ACPI-Interpreter (dem Acpi.sys Treiber) verwendet wird.

  • Die Tabelle mit der höchsten Versionsnummer wird geladen. Die Tabelle, die zu Testzwecken in die Registrierung geladen wird, muss eine höhere Versionsnummer aufweisen als die gleiche Tabelle im BIOS-ROM.

  • Die zu ladende Tabelle muss im AML-Format (Compiled) vorliegen und am richtigen Speicherort mit den richtigen Parametern in die Registrierung geladen werden. Der hier beschriebene Mechanismus ist so konzipiert, dass alle Aspekte des Ladens der Tabelle und der Konfiguration der Registrierung behandelt werden.

Warnung

Der in diesem Thema beschriebene Prozess belässt Ihr Windows-System möglicherweise in einem nicht startbaren Zustand. Stellen Sie sicher, dass Sie zugriff auf ein anderes Betriebssystem mit NTFS-Dateisystemunterstützung (d. h. einem "sicheren Build") auf demselben Computer haben, bevor Sie die hier beschriebenen Verfahren versuchen. Dieser Prozess wird nur für Systementwickler und Tester bereitgestellt und sollte NICHT auf computern verwendet werden, die für Entwicklungs- oder Produktionszwecke wichtig sind.

ACPI-Tabellenladenutzung

Um eine ACPI-Tabelle zu Testzwecken in die Registrierung zu laden, wird der ASL-Compiler wie folgt aufgerufen:

asl.exe /loadtable [-v] [-d] <AMLFile>

Dabei ist AMLFile der Name der kompilierten AML-Datei, die die Tabelle enthält, die Sie in die Registrierung laden möchten.

Option BESCHREIBUNG
-v Ausführlicher Modus. Aktiviert eine zusätzliche Debugausgabe des Hilfsprogramms.
-d Löschen Entfernt eine zuvor geladene AML-Datei aus der Registrierung und löscht alle zugeordneten Registrierungsschlüssel.

Zusätzliche Ressourcen