Partager via


Compilateur Microsoft ASL

La version 5.0 du compilateur du langage source Microsoft ACPI (ASL) prend en charge les fonctionnalités de la spécification Advanced Configuration and Power Interface, Revision 5.0 (spécification ACPI 5.0). Le compilateur ASL est distribué avec le kit de pilotes Windows (WDK).

Télécharger le Kit de développement logiciel pour Windows (WDK)

Le compilateur ASL (asl.exe) se trouve dans les répertoires Tools\ACPIVerify, Tools\ACPIVerify, Tools\x86\ACPIVerify et Tools\x64\ACPIVerify du WDK installé, par exemple C:\Program Files (x86)\Windows Kits\10\Tools\<build #>\<build architecture>\ACPIVerify.

Vous devez d'abord installer le SDK, puis le WDK. Les numéros de build des deux kits doivent correspondre.

Options de ligne de commande

Le compilateur ASL prend en charge plusieurs options de ligne de commande. Pour répertorier les informations relatives à la version et les options de ligne de commande disponibles, exécutez la requête « asl /? » dans une fenêtre de l'invite de commande.

Utilisation du compilateur ASL

Le compilateur ASL prend en charge les options de ligne de commande suivantes :

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 Description
? Imprimer ce message d'aide.
nologo Supprimer la bannière du logo.
Fo=<AMLFile> Remplacer le nom du fichier AML dans le DefinitionBlock.
Fa=<ASMFile> Génère un fichier .ASM portant le nom <ASMFile>.
Fn=<NSDFile> Génère un fichier de dumping de l'espace de noms portant le nom <NSDFile>.
j Dump du fichier binaire sous forme de texte.
u Désassembler un fichier AML en un fichier .ASL (par défaut) ou un fichier .LST.
tab=<TabSig> Désassemblez un tableau ASL dans un fichier .ASL (par défaut) ou un fichier .LST. Dump d'un tableau non-ASL dans un fichier .TXT. Si <TabSig> est « * », toutes les tables sont dumpées dans ACPI.TXT. <TabSig> peut également être l'adresse physique de la table.
c Créer des fichiers binaires à partir de tables.

Utilisation de la fonctionnalité ACPI-table-load du compilateur Microsoft ASL

Lors du développement d'un système, il est utile de disposer d'un moyen de simuler diverses constructions ACPI BIOS et de les tester sur le système de développement. Le système d'exploitation Windows permet de charger certaines tables ACPI à partir du registre Windows plutôt qu'à partir de la ROM BIOS du PC. L'utilisation de cette fonctionnalité nécessite des privilèges d'administrateur et requiert également que la signature des tests soit activée sur le système. Dans les systèmes prenant en charge UEFI Secure Boot, la signature de test ne peut pas être activée et la fonctionnalité de chargement de table du compilateur ne peut pas être utilisée, sauf si UEFI Secure Boot est désactivé ou si la stratégie de débogage de Windows est installée sur le système.

Pour utiliser la fonctionnalité de chargement de table, la table ACPI à surcharger doit répondre aux exigences suivantes :

  • La table à surcharger doit déjà être présente dans la ROM BIOS du système. Par exemple, le DSDT peut être surchargé ; cependant, si la machine n'a pas de SSDT, vous ne pouvez pas forcer le chargement d'un SSDT à partir de ce mécanisme de remplacement du registre.

  • La table doit contenir du code AML qui est normalement consommé par l'interpréteur ACPI de Windows (le pilote Acpi.sys).

  • La table ayant le numéro de version le plus élevé est chargée. La table chargée dans le registre pour le test doit avoir un numéro de version plus élevé que la même table dans la ROM du BIOS.

  • La table à charger doit être au format compilé (AML) et chargée dans le registre à l'emplacement correct, avec les paramètres corrects spécifiés. Le mécanisme décrit est conçu pour gérer tous les aspects du chargement de la table et de la configuration du registre.

Avertissement

Le processus décrit dans cette rubrique peut laisser votre système Windows dans un état non amorçable. Assurez-vous d'avoir accès à un autre système d'exploitation prenant en charge le système de fichiers NTFS (c'est-à-dire une « version sûre ») sur la même machine avant de tenter les procédures décrites ici. Cette procédure est destinée aux développeurs et aux testeurs de systèmes uniquement, et ne doit PAS être utilisée sur une machine vitale à des fins de développement ou de production.

Utilisation de ACPI-table-load

Pour charger une table ACPI dans le registre à des fins de test, le compilateur ASL est invoqué comme suit :

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

Où AMLFile est le nom du fichier AML compilé qui contient la table que vous souhaitez charger dans le registre.

Option Description
-v Mode documenté. Active la sortie de débogage supplémentaire de l'utilitaire.
-d Supprimer. Supprime du registre un fichier AML précédemment chargé et supprime toutes les clés de registre associées.

Plus de ressources