Vérification de bogue 0xA5 : ACPI_BIOS_ERROR
La vérification de bogue ACPI_BIOS_ERROR a une valeur 0x000000A5. Cette vérification de bogue indique que le BIOS ACPI (Advanced Configuration and Power Interface) de l’ordinateur n’est pas entièrement conforme à la spécification ACPI.
Important
Cet article s’adresse aux programmeurs. Si vous êtes un client et que vous avez reçu ce code d’erreur d’écran bleu en utilisant votre ordinateur, consultez Résoudre les erreurs d’écran bleu.
Paramètres ACPI_BIOS_ERROR
Le paramètre 1 indique le type de l’incompatibilité. La signification des autres paramètres dépend de la valeur du paramètre 1.
Si l’incompatibilité du BIOS est liée à Plug-and-Play (PnP) ou à la gestion de l’alimentation, on utilise les paramètres suivants.
Paramètre 1 | Paramètre 2 | Paramètre 3 | Paramètre 4 | Cause |
---|---|---|---|---|
0x01 |
deviceExtension ACPI |
ResourceList ACPI |
0 : aucune liste de ressources trouvée 1 : Aucune ressource IRQ n’est trouvée dans la liste |
L’ACPI ne peut pas trouver le vecteur SCI (Interruption de contrôle du système) dans les ressources qui lui sont transmises lors du démarrage de l’ACPI. |
0x02 |
(Voir le tableau plus loin dans cette page) |
|||
0x03 |
Objet ACPI en cours d’exécution |
La valeur renvoyée du module d’interprétation |
Nom de la méthode de contrôle (au format ULONG) |
L’ACPI a essayé d’exécuter une méthode de contrôle lors de la création d’extensions d’appareil pour représenter l’espace de noms ACPI, mais celle-ci a échoué. |
0x04 |
Extension ACPI à laquelle appartient _PRW |
Pointeur vers la méthode |
DataType renvoyé (voir Amli.h) |
L’ACPI a évalué un _PRW et s’attendait à trouver un entier en tant qu’élément de package. |
0x05 |
Extension ACPI à laquelle appartient _PRW |
Pointeur vers le _PRW. |
Nombre d’éléments dans le _PRW. |
L’ACPI a évalué un _PRW, et le package qui est revenu n’a pas pu contenir au moins deux éléments. La spécification ACPI exige que deux éléments soient toujours présents dans un _PRW. |
0x06 |
Extension ACPI à laquelle appartient _PRx |
Pointeur vers le _PRx. |
Pointeur vers le nom de l’objet à rechercher |
L’ACPI a essayé de trouver un objet nommé, mais il n’a pas pu. |
0x07 |
Extension ACPI à laquelle appartient la méthode |
Pointeur vers la méthode |
DataType renvoyé (voir Amli.h) |
L’ACPI a évalué une méthode et s’attendait à recevoir un tampon en retour. Toutefois, la méthode a retourné un autre type de données. |
0x08 |
Extension ACPI à laquelle appartient la méthode |
Pointeur vers la méthode |
DataType renvoyé (voir Amli.h) |
L’ACPI a évalué une méthode et s’attendait à recevoir un entier en retour. Toutefois, la méthode a retourné un autre type de données. |
0x09 |
Extension ACPI à laquelle appartient la méthode |
Pointeur vers la méthode |
DataType renvoyé (voir Amli.h) |
L’ACPI a évalué une méthode et s’attendait à recevoir un package en retour. Toutefois, la méthode a retourné un autre type de données. |
0x0A |
Extension ACPI à laquelle appartient la méthode |
Pointeur vers la méthode |
DataType renvoyé (voir Amli.h) |
L’ACPI a évalué une méthode et s’attendait à recevoir une chaîne en retour. Toutefois, la méthode a retourné un autre type de données. |
0x0B |
Extension ACPI à laquelle appartient _EJD |
État retourné par l’interpréteur |
Nom de l’objet que l’ACPI tente de trouver |
L’ACPI ne peut pas trouver l’objet référencé par une chaîne _EJD. |
0x0C |
Extension ACPI pour laquelle l’ACPI a trouvé une station d’accueil |
Pointeur vers la méthode _EJD |
0 : Le BIOS n’indique pas que le système est connecté à la station d’accueil 1 : extensions de l’appareil en double pour la station d’accueil |
L’ACPI fournit des informations défectueuses ou insuffisantes pour la prise en charge de la station d’accueil. |
0x0D |
Extension ACPI pour laquelle l’ACPI a besoin de l’objet |
Nom (ULONG) de la méthode recherchée par l’ACPI |
0 : cas de base 1 : conflit |
L’ACPI n’a pas trouvé de méthode ou d’objet obligatoire dans l’espace de noms Ce code de vérification de bogue est utilisé s’il n’existe aucun _HID ou _ADR. |
0x0E |
PowerResource NS pour laquelle l’ACPI a besoin de l’objet |
Nom (ULONG) de la méthode recherchée par l’ACPI |
0 : cas de base |
L’ACPI n’a pas pu trouver une méthode ou un objet requis dans l’espace de noms pour une ressource d’alimentation (ou une entité autre qu’un « appareil »). Ce code de vérification de bogue est utilisé s’il n’existe aucun _ON, _OFF ou _STA pour une ressource d’alimentation. |
0x0F |
Mémoire tampon actuelle qui était analysée par l’ACPI |
Balise de la mémoire tampon |
Longueur spécifiée de la mémoire tampon |
L’ACPI n’a pas pu analyser le descripteur de ressource. |
0x10 |
(Voir le tableau plus loin dans cette page) |
|||
0x11 |
(Voir le tableau plus loin dans cette page) |
|||
0x14 |
Mémoire tampon actuelle qui était analysée par l’ACPI |
Balise de la mémoire tampon |
Pointeur vers une variable qui contient la longueur ULONGLONG de la mémoire tampon |
L’ACPI n’a pas pu analyser le descripteur de ressource. La longueur dépasse MAXULONG. |
0x15 |
Contexte AML (machine langage ACPI) |
1 : Échec du chargement de table 2 : le paramètre de l’objet de chaîne du chemin d’accès n’a pas été trouvé 3 : échec de l’insertion des données de paramètre dans l’objet de chaîne ParameterPath 4 : mémoire système insuffisante |
Code d’état NT. |
L’ACPI a rencontré une erreur irrécupérable lors de la tentative de chargement d’une table. |
0x16 |
Pointeur vers le NSOBJ parent |
Pointeur vers l’objet d’espace de noms ACPI enfant illégal |
Reserved |
L’ACPI a rencontré une erreur irrécupérable lors du traitement d’un xSDT. Un objet a été déclaré en tant qu’enfant d’un parent qui ne peut pas avoir d’enfants. |
Les paramètres suivants sont utilisés en cas d’incompatibilité ou d’échec de routage des interruptions.
Paramètre 1 | Paramètre 2 | Paramètre 3 | Paramètre 4 | Cause |
---|---|---|---|---|
0x2001 |
InterruptModel (entier) |
La valeur renvoyée du module d’interprétation |
Pointeur vers la méthode de contrôle PIC. |
L’ACPI a essayé d’évaluer la méthode de contrôle PIC mais a échoué. |
0x10001 |
Pointeur vers l’objet appareil |
Pointeur vers le parent de l’objet appareil |
Pointeur vers l’objet _PRT (Consultez la section « Commentaires » suivante) |
L’ACPI a essayé d’effectuer le routage des interruptions, mais a échoué. |
0x10002 |
Pointeur vers l’objet appareil |
Pointeur vers le nom de chaîne que l’ACPI recherchait, mais ne pouvait pas trouver |
Pointeur vers l’objet _PRT (Consultez la section « Commentaires » suivante) |
L’ACPI n’a pas pu trouver le nœud de liaison référencé dans un _PRT. |
0x10003 |
Pointeur vers l’objet appareil |
ID d’appareil ou numéro de fonction. Ce DWORD est encodé comme suit : les bits 5 :0 sont le numéro d’appareil PCI, et les bits 8:6 sont le numéro de fonction PCI |
Pointeur vers l’objet _PRT (Consultez la section « Commentaires » suivante) |
L’ACPI n’a pas pu trouver de mappage dans le package _PRT pour un appareil. |
0x10005 |
Pointeur vers l’objet _PRT (Consultez la section « Commentaires » suivante) |
Pointeur vers l’élément _PRT actuel. (Ce pointeur est un index dans le _PRT.) |
ID d’appareil ou numéro de fonction. Ce DWORD est encodé comme suit : les bits 15 :0 sont le numéro de fonction PCI, et les bits 31:16 sont le numéro d’appareil PCI |
L’ACPI a trouvé une entrée dans le _PRT dont l’ID de fonction ne contient pas tous les F. (De manière générale, le format d’une entrée _PRT est le suivant : le numéro de l’appareil est spécifié, mais le numéro de la fonction ne l’est pas). |
0x10006 |
Pointeur vers le nœud de liaison. (Cet appareil ne dispose pas de la méthode _DIS). |
0 |
0 |
L’ACPI a trouvé un nœud de liaison, mais il ne peut pas désactiver le nœud. (Les nœuds de liaison doivent être désactivés pour autoriser la reprogrammation). |
0x10007 |
Vecteur introuvable |
0 |
0 |
Le _PRT contenait une référence à un vecteur qui n’est pas décrit dans la table MAPIC de l’entrée E/S APIC. |
0x10008 |
Niveau d’interruption non valide. |
0 |
0 |
Le niveau d’interruption ACPI SCI n’est pas valide. |
0x10009 |
0 |
0 |
0 |
La table de description ACPI fixe (FADT) n’a pas pu être localisée. |
0x1000A |
0 |
0 |
0 |
Le pointeur de description du système racine (RSDP) ou la table de description du système étendu (XSDT) n’a pas pu être localisé. |
0x1000B |
Signature de la table ACPI |
Pointeur vers la table ACPI |
0 |
La longueur de la table ACPI n’est pas cohérente avec la révision de la table. |
0x1000C |
ID de révision |
Index de fonction |
0 |
Méthode _DSM pour les interruptions a renvoyé des données incorrectes. |
0x1000D |
Extension ACPI pour l’appareil |
Valeur 0 : _PRW spécifié sans interruptions compatibles avec le réveil et au moins une interruption GPIO Valeur 1 : étant donné qu’il existe des interruptions compatibles avec le réveil, le _PRW doit spécifier une valeur GpeInfo de 0xffffffff |
0 |
Un appareil a utilisé des interruptions GPE et GPIO, ce qui n’est pas pris en charge. |
0x1000E |
Statut renvoyé par la fonction de validation. | Pointeur vers le chemin d’espace de noms ACPI UNICODE_STRING. |
Pointeur vers la liste des ressources comparé à SDEV. |
Les ressources SDEV d’un appareil sécurisé ne correspondent pas à son entrée _CRS ou _PRS correspondante. |
En cas de défaillance ou d’incompatibilité quelconque, on utilise les paramètres suivants.
Paramètre 1 | Paramètre 2 | Paramètre 3 | Paramètre 4 | Cause |
---|---|---|---|---|
0x20000 |
Port E/S dans la table fixe |
0 |
0 |
L’entrée PM_TMR_BLK dans la table de description ACPI fixe ne pointe pas vers un bloc de minuteur ACPI opérationnel. |
Ce tableau décrit les problèmes d’utilisation de la mémoire dans lesquels les paramètres suivants sont utilisés.
Paramètre 1 | Paramètre 2 | Paramètre 3 | Paramètre 4 | Cause |
---|---|---|---|---|
0x1000 |
Partie élevée de l’adresse physique de la région de mémoire. |
Partie basse de l’adresse physique de la région de mémoire. |
Longueur de la mémoire mappée. |
L’ACPI a connu une erreur irrécupérable lors du traitement d’une région d’opération de mémoire. La région d’opération de mémoire a essayé de mapper la mémoire allouée pour l’utilisation du système d’exploitation. |
Si le paramètre 1 est égal à 0x02, le BIOS ACPI n’a pas pu traiter la liste des ressources pour les bus racines PCI. Dans ce cas, le paramètre 3 spécifie le problème exact et les paramètres restants ont les définitions suivantes.
Paramètre 2 | Paramètre 3 | Paramètre 4 | Cause |
---|---|---|---|
Extension ACPI pour le bus PCI |
0x0 |
Pointeur vers l’IRP QUERY_RESOURCES |
L’ACPI ne peut pas convertir la liste des ressources du BIOS dans le format approprié. Il s’agit probablement d’une erreur dans la procédure d’encodage de liste du BIOS. |
Extension ACPI pour le bus PCI |
0x1 |
Pointeur vers l’IRP QUERY_RESOURCE_REQUIREMENTS |
L’ACPI ne peut pas convertir la liste des ressources du BIOS dans le format approprié. Il s’agit probablement d’une erreur dans la procédure d’encodage de liste du BIOS. |
Extension ACPI pour le bus PCI |
0x2 |
0 |
L’ACPI a trouvé une liste de ressources vide. |
Extension ACPI pour le bus PCI |
0x3 |
Pointeur vers le descripteur CRS PNP |
L’ACPI n’a pas trouvé le numéro de bus actuel dans le CRS. |
Extension ACPI pour le bus PCI |
Pointeur vers la liste des ressources pour PCI |
Pointeur vers la table en mémoire E820. |
La liste des ressources que PCI demande à décoder chevauche celle des régions de mémoire que l’interface BIOS E820 signale. (Ce type de conflit n’est jamais autorisé). |
Si le paramètre 1 est égal à 0x10, le BIOS ACPI n’a pas pu déterminer correctement le mappage d’état système à appareil. Dans ce cas, le paramètre 3 spécifie le problème exact et les paramètres restants ont les définitions suivantes.
Paramètre 2 | Paramètre 3 | Paramètre 4 | Cause |
---|---|---|---|
Extension ACPI dont le mappage est nécessaire |
0x0 |
Le DEVICE_POWER_STATE (il s’agit de « x+1 ») |
_PRx a été mappé vers un état S non pris en charge. |
Extension ACPI dont le mappage est nécessaire |
0x1 |
Le SYSTEM_POWER_STATE qui ne peut pas être mappée |
ACPI ne peut pas trouver un état D à associer à l’état S. |
Extension ACPI dont le mappage est nécessaire |
0x2 |
Le SYSTEM_POWER_STATE qui ne peut pas être mappée |
L’appareil prétend pouvoir réveiller le système lorsque celui-ci se trouve dans cet état S, mais le système ne prend pas réellement en charge cet état S. |
Si le paramètre 1 est égal à 0x11, le système n’a pas pu entrer en mode ACPI. Dans ce cas, le paramètre 2 spécifie le problème exact et les paramètres restants ont les définitions suivantes.
Paramètre 2 | Paramètre 3 | Paramètre 4 | Cause |
---|---|---|---|
0x0 |
0 |
0 |
Le système n’a pas pu initialiser l’interpréteur AML. |
0x1 |
0 |
0 |
Le système n’a pas pu trouver RSDT. |
0x2 |
0 |
0 |
Le système n’a pas pu allouer de structures de pilotes critiques. |
0x3 |
0 |
0 |
Le système n’a pas pu charger RSDT. |
0x4 |
0 |
0 |
Le système n’a pas pu charger DDBs. |
0x5 |
0 |
0 |
Le système ne peut pas connecter le vecteur d’interruption. |
0x6 |
0 |
0 |
SCI_EN n’est jamais activé dans le registre de contrôle PM1. |
0x7 |
Un pointeur vers la table qui avait une mauvaise somme de contrôle |
Révision du créateur |
La table de somme de contrôle est erronée. |
0x8 |
Pointeur vers la table que l’ACPI n’a pas pu charger |
Révision du créateur |
ACPI a échoué à charger la DDB. |
0x9 |
Version FADT |
0 |
Version du microprogramme non prise en charge. |
0xA |
0 |
0 |
Le système n’a pas pu trouver MADT. |
0xB |
0 |
0 |
Le système n’a pas pu trouver de structures SAPIC locales valides dans le MADT. |
Cause
La valeur du paramètre 1 indique l’erreur.
Résolution
Si vous déboguez cette erreur, utilisez l’extension !analyze -v. Cette extension affiche toutes les données pertinentes (extensions d’appareil, nsobjects ou tout ce qui est approprié à l’erreur spécifique).
Si vous n’effectuez pas de débogage, cette erreur indique que vous devez obtenir un nouveau BIOS. Contactez votre fournisseur ou accédez à Internet pour obtenir un nouveau BIOS.
Si vous ne pouvez pas obtenir un BIOS mis à jour ou si le BIOS le plus récent n’est pas encore compatible ACPI, vous pouvez désactiver le mode ACPI pendant la configuration du mode texte. Pour désactiver le mode ACPI, appuyez sur la touche F7 lorsque vous êtes invité à installer les pilotes de stockage. Le système ne vous informe pas que la touche F7 a été enfoncée, mais elle désactive silencieusement l’ACPI et vous permet de poursuivre votre installation.
Notes
Une table de routage PCI (_PRT) est l’objet BIOS ACPI qui spécifie la façon dont tous les périphériques PCI sont connectés aux contrôleurs d’interruption. Un ordinateur avec plusieurs bus PCI peut avoir plusieurs _PRTs.
Vous pouvez afficher un _PRT dans le débogueur à l’aide de l’extension !acpikd.nsobj et de l’adresse de l’objet _PRT comme son argument.