Microsoft ASL-Compiler
Version 5.0 des Microsoft ACPI-Quellsprachencompilers (ASL) unterstützt die Features in der Advanced Configuration- und Power Interface-Spezifikation, Revision 5.0 (ACPI 5.0-Spezifikation). Der ASL-Compiler wird mit dem Windows Driver Kit (WDK) verteilt.
Windows-Treiberkit herunterladen (WDK)
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 installieren, dann das WDK. Die Buildnummern für die beiden Kits müssen übereinstimmen.
Befehlszeilenoptionen
Der ASL-Compiler unterstützt mehrere Befehlszeilenoptionen. Zur Auflistung der Versionsinformationen und verfügbaren Befehlszeilenoptionen führen Sie den Befehl „asl /?
“ in einem Eingabeaufforderungsfenster aus.
Verwendung des ASL-Compilers
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 Hilfemeldung aus. |
nologo | Unterdrücken Sie das Logobanner. |
Fo=<AMLFile> | Überschreiben Sie den AML-Dateinamen im DefinitionBlock. |
Fa=<ASMFile> | Generieren Sie eine . ASM-Datei mit dem Namen <ASMFile>. |
Fn=<NSDFile> | Generieren Sie eine NameSpace-Dumpdatei mit dem Namen <NSDFile>. |
d | Speichern Sie die Binärdatei im Textformat. |
n | Führen Sie einen Unassemble-Vorgang für eine AML-Datei zu einer .ASL-Datei (Standard) oder einer .LST-Datei aus. |
tab=<TabSig> | Führen Sie einen Unassemble-Vorgang für eine ASL-Tabelle zu einer .ASL-Datei (Standard) oder einer .LST-Datei aus. Führen Sie einen Dumpvorgang für andere als ASL-Tabellen zu einer .TXT-Datei aus. Wenn <TabSig> „*“ ist, wird ein Dumpvorgang für alle Tabellen zu ACPI.TXT ausgeführt. <TabSig> kann auch die physische Adresse der Tabelle sein. |
c | Erstellen Sie Binärdateien aus Tabellen. |
Verwenden der Funktion „ACPI-table-load“ des Microsoft ASL-Compilers
Während der Systementwicklung ist es hilfreich, verschiedene ACPI-BIOS-Konstrukte zu simulieren und auf dem Entwicklungssystem zu testen. Das Windows-Betriebssystem ermöglicht das Laden bestimmter ACPI-Tabellen aus der Windows-Registrierung anstelle des BIOS-ROM des PCs. Die Verwendung dieses Features erfordert Administratorrechte. Außerdem muss die Testsignierung auf dem System aktiviert sein. In Systemen, die UEFI Secure Boot unterstützen, kann die Testsignierung nicht aktiviert werden. Daher kann die Funktion table-load des Compilers nur verwendet werden, wenn UEFI Secure Boot deaktiviert ist oder die Windows-Debugrichtlinie auf dem System installiert ist.
Um die Funktion table-load zu verwenden, muss die ACPI-Tabelle, die überladen werden soll, die folgenden Anforderungen erfüllen:
Die Tabelle, die überladen werden soll, muss im BIOS-ROM des Systems bereits vorhanden sein. Beispielsweise kann die DSDT überladen werden. Wenn der Computer jedoch nicht über eine SSDT verfügt, 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.
Es wird die Tabelle mit der höchsten Versionsnummer geladen. Die in die Registrierung zum Testen geladene Tabelle muss eine höhere Versionsnummer aufweisen als die entsprechende Tabelle im BIOS-ROM.
Die Tabelle, die geladen werden soll, muss im kompilierten Format (AML) vorliegen und an der richtigen Stelle in die Registrierung geladen werden, wobei die richtigen Parameter angegeben sind. Der beschriebene Mechanismus dient zum Behandeln aller Aspekte des Ladens der Tabelle und des Konfigurierens der Registrierung.
Warnung
Der in diesem Thema beschriebene Prozess kann Ihr Windows-System in einem nicht startbaren Zustand belassen. Stellen Sie sicher, dass auf ein anderes Betriebssystem mit NTFS-Dateisystemunterstützung (d. h. einem „sicheren Build“) auf demselben Computer zugreifen können, bevor Sie die hier beschriebenen Verfahren versuchen. Dieser Prozess wird nur für Systementwickler und Tester bereitgestellt und darf NICHT auf Computern verwendet werden, die eine kritische Bedeutung für Entwicklungs- oder Produktionszwecke haben.
Verwendung von „ACPI-table-load“
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 die zusätzliche Debugausgabe des Hilfsprogramms. |
-d | Löschen Entfernt eine zuvor geladene AML-Datei aus der Registrierung und löscht alle zugeordneten Registrierungsschlüssel. |