Partager via


Acpi.sys (pilote ACPI Windows)

Le pilote ACPI Windows, Acpi.sys, est un composant de boîte de réception du système d’exploitation Windows. Les responsabilités de Acpi.sys incluent la prise en charge de la gestion de l’alimentation et de l’énumération d’appareils Plug-and-Play (PnP). Sur les plateformes matérielles qui disposent d’un BIOS ACPI, hal entraîne le chargement de Acpi.sys pendant le démarrage du système à la base de l’arborescence de l’appareil. Acpi.sys agit comme l’interface entre le système d’exploitation et le BIOS ACPI. Acpi.sys est transparent pour les autres pilotes de l’arborescence de l’appareil.

D’autres tâches effectuées par Acpi.sys sur une plateforme matérielle particulière peuvent inclure la réplication des ressources pour un port COM ou l’activation du contrôleur USB pour le réveil du système.

Dans cette rubrique

Appareils ACPI

Le fournisseur de la plateforme matérielle spécifie une hiérarchie d’espaces de noms ACPI dans le BIOS ACPI pour décrire la topologie matérielle de la plateforme. Pour plus d’informations, consultez hiérarchie d’espaces de noms ACPI.

Pour chaque appareil décrit dans la hiérarchie d’espaces de noms ACPI, le pilote ACPI Windows, Acpi.sys, crée un objet d’appareil de filtre (do de filtre) ou un objet d’appareil physique (PDO). Si l’appareil est intégré à la carte système, Acpi.sys crée un objet d’appareil de filtre, représentant un filtre de bus ACPI et l’attache à la pile d’appareils immédiatement au-dessus du pilote de bus (PDO). Pour les autres appareils décrits dans l’espace de noms ACPI, mais pas sur la carte système, Acpi.sys crée l’objet PDO. Acpi.sys fournit des fonctionnalités de gestion de l’alimentation et PnP à la pile des appareils avec ces objets d’appareil. Pour plus d’informations, consultez Piles d’appareils pour un appareil ACPI.

Un appareil pour lequel Acpi.sys crée un objet d’appareil est appelé appareil ACPI. L’ensemble d’appareils ACPI varie d’une plateforme matérielle à l’autre, et dépend du BIOS ACPI et de la configuration de la carte mère. Acpi.sys charge un filtre de bus ACPI uniquement pour un appareil décrit dans l’espace de noms ACPI et est connecté définitivement à la plateforme matérielle (en général, cet appareil est intégré au silicium de base ou à la carte système). Tous les appareils de carte mère ne disposent pas d’un filtre de bus ACPI.

Toutes les fonctionnalités ACPI sont transparentes pour les pilotes de niveau supérieur. Ces pilotes ne doivent pas faire d’hypothèses sur la présence ou l’absence d’un filtre ACPI dans une pile d’appareils donnée.

Acpi.sys et le BIOS ACPI prennent en charge les fonctions de base d’un appareil ACPI. Pour améliorer les fonctionnalités d’un appareil ACPI, le fournisseur d’appareils peut fournir un pilote de fonction WDM. Pour plus d’informations, consultez Opération d’un pilote de fonction de périphérique ACPI.

Un appareil ACPI est spécifié par un bloc de définition dans les tables de description système du BIOS ACPI. Le bloc de définition d’un appareil spécifie, entre autres, une région d’opération, qui est un bloc contigu de mémoire d’appareil utilisé pour accéder aux données de l’appareil. Seule Acpi.sys modifie les données d’une région d’opération. Le pilote de fonction de l’appareil peut lire les données dans une région d’opération, mais ne doit pas modifier les données. Lorsqu’il est appelé, un gestionnaire de région d’opération transfère des octets dans la région d’opération vers et depuis la mémoire tampon de données dans Acpi.sys. L’opération combinée du pilote de fonction et Acpi.sys est spécifique à l’appareil et est définie dans le BIOS ACPI par le fournisseur de matériel. En général, le pilote de fonction et Acpi.sys accéder à des zones particulières d’une région d’opération pour effectuer des opérations spécifiques à l’appareil et récupérer des informations. Pour plus d’informations, consultez Prise en charge d’une région d’opération.

Méthodes de contrôle ACPI

Les méthodes de contrôle ACPI sont des objets logiciels qui déclarent et définissent des opérations simples pour interroger et configurer des appareils ACPI. Les méthodes de contrôle sont stockées dans le BIOS ACPI et sont encodées dans un format de code d’octet appelé langage d’ordinateur ACPI (AML). Les méthodes de contrôle d’un appareil sont chargées à partir du microprogramme système dans l’espace de noms ACPI de l’appareil en mémoire, et interprétées par le pilote ACPI Windows, Acpi.sys.

Pour appeler une méthode de contrôle, le pilote en mode noyau d’un périphérique ACPI lance une demande de IRP_MJ_DEVICE_CONTROL , qui est gérée par Acpi.sys. Pour les pilotes chargés sur des appareils énumérés ACPI, Acpi.sys implémente toujours l’objet de périphérique physique (PDO) dans la pile des pilotes. Pour plus d’informations, consultez Évaluation des méthodes de contrôle ACPI.

Spécification ACPI

La spécification ADVANCED Configuration and Power Interface (SPÉCIFICATION ACPI 6.4) est disponible à partir du site web unified Extensible Firmware Interface Forum.

La révision 5.0 de la spécification ACPI introduit un ensemble de fonctionnalités permettant de prendre en charge les PC mobiles à faible alimentation basés sur les circuits intégrés Système sur puce (SoC) et qui implémentent le modèle d’alimentation de secours connecté. À compter de Windows 8, le pilote ACPI Windows, Acpi.sys, prend en charge les nouvelles fonctionnalités de la spécification ACPI 5.0. Pour plus d’informations, consultez le guide de conception de Windows ACPI pour les plateformes SoC.

Débogage ACPI

Les intégrateurs système et les développeurs de pilotes de périphérique ACPI peuvent utiliser le débogueur Microsoft AMLI pour déboguer du code AML. Étant donné que AML est un langage interprété, le débogage AML nécessite des outils logiciels spéciaux.

Pour plus d’informations sur le débogueur AMLI, consultez débogage ACPI.

Compilateur ASL (Microsoft ACPI Source Language)

Pour plus d’informations sur la compilation du langage source ACPI (ASL) dans le langage de machine ACPI (AML), consultez le compilateur Microsoft ASL.

La version 5.0 du compilateur Microsoft ASL prend en charge les fonctionnalités de la spécification ACPI 5.0.

Le compilateur ASL est distribué avec le Kit de pilotes Windows (WDK).

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