Partager via


Compilateur Microsoft ASL

La version 5.0 du compilateur ASL (Microsoft ACPI Source Language) 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 Windows Driver Kit (WDK)

Le compilateur ASL (asl.exe) se trouve dans les répertoires Tools\arm\ACPIVerify, Tools\arm64\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 Kit de développement logiciel (SDK), suivi de 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 de version et les options de ligne de commande disponibles, exécutez la commande «asl /? » dans une fenêtre d’invite de commandes.

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
? Imprimez ce message d’aide.
nologo Supprimez la bannière du logo.
Fo=<AMLFile> Remplacez le nom de fichier AML dans DefinitionBlock.
Fa=<ASMFile> Générez un . Fichier ASM avec le nom <ASMFile>.
Fn=<NSDFile> Générez un fichier de vidage NameSpace avec le nom <NSDFile>.
d Videz le fichier binaire sous forme de texte.
u Annulez l’assemblage d’un fichier AML dans un . Fichier ASL (valeur par défaut) ou . Fichier LST.
tab=<TabSig> Dissociez la table ASL dans un . Fichier ASL (valeur par défaut) ou . Fichier LST. Videz la table non ASL dans un fichier .TXT. Si <TabSig a la> valeur « * », toutes les tables sont vidées dans ACPI.TXT. <TabSig> peut également être l’adresse physique de la table.
c Créez des fichiers binaires à partir de tables.

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

Pendant le développement du système, il est utile d’avoir un moyen de simuler différentes constructions DE BIOS ACPI 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 que de la ROM du BIOS du PC. L’utilisation de cette fonctionnalité nécessite des privilèges d’administrateur et nécessite également l’activation de la signature de test sur le système. Pour les systèmes qui prennent en charge le démarrage sécurisé UEFI, 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 le démarrage sécurisé UEFI est désactivé ou que la stratégie de débogage 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 du BIOS du système. Par instance, le DSDT peut être surchargé. Toutefois, si l’ordinateur 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 Windows (pilote Acpi.sys).

  • La table avec le numéro de version le plus élevé est chargée. La table chargée dans le Registre à des fins de test doit avoir un numéro de version supérieur à celui de la même table dans la ROM du BIOS.

  • La table à charger doit être au format compilé (AML) et être chargée dans le Registre à l’emplacement approprié, avec les paramètres corrects spécifiés. Le mécanisme décrit ici 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 démarrable. Assurez-vous d’avoir accès à un autre système d’exploitation avec prise en charge du système de fichiers NTFS (c’est-à-dire une « build sécurisée ») sur le même ordinateur avant d’essayer les procédures décrites ici. Ce processus est fourni uniquement aux développeurs système et aux testeurs, et ne doit PAS être utilisé sur une machine vitale à des fins de développement ou de production.

Utilisation de l’ACPI-table-load

Pour charger une table ACPI dans le Registre à des fins de test, le compilateur ASL est appelé 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 Suppression. Supprime un fichier AML précédemment chargé du Registre et supprime toutes les clés de Registre associées.

Ressources supplémentaires