Vérification de bogue 0xA5 : ACPI_BIOS_ERROR

La vérification des bogues ACPI_BIOS_ERROR a une valeur de 0x000000A5. Cette vérification de bogue indique que le BIOS ADVANCED Configuration and Power Interface (ACPI) de l’ordinateur n’est pas entièrement conforme à la spécification ACPI.

Important

Cet article est destiné aux programmeurs. Si vous êtes un client qui a reçu un code d’erreur d’écran bleu lors de l’utilisation de 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, les paramètres suivants sont utilisés.

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause

0x01

DeviceExtension d’ACPI

ResourceList d’ACPI

0 : Aucune liste de ressources n’est trouvée

1 : Aucune ressource IRQ n’est trouvée dans la liste

ACPI ne peut pas trouver le vecteur SCI (System Control Interruption) 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

Valeur de retour de l’interpréteur

Nom de la méthode de contrôle (au format ULONG)

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 cette méthode de contrôle a échoué.

0x04

Extension ACPI à laquelle appartient _PRW

Pointeur vers la méthode

DataType retourné (voir Amli.h)

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 la _PRW

ACPI a évalué une _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 une _PRW.

0x06

Extension ACPI à laquelle appartient _PRx

Pointeur vers le _PRx

Pointeur vers le nom de l’objet à rechercher

ACPI a essayé de trouver un objet nommé, mais il n’a pas pu trouver l’objet.

0x07

Extension ACPI à laquelle appartient la méthode

Pointeur vers la méthode

DataType retourné (voir Amli.h)

ACPI a évalué une méthode et s’attendait à recevoir une mémoire 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 retourné (voir Amli.h)

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 retourné (voir Amli.h)

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 retourné (voir Amli.h)

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

ACPI ne peut pas trouver l’objet référencé par une chaîne _EJD.

0x0C

Extension ACPI que l’ACPI a trouvé un appareil d’ancrage pour

Pointeur vers la méthode _EJD

0 : LE BIOS ne prétend pas que le système est ancré

1 : Extensions d’appareil en double pour l’appareil d’ancrage

ACPI fournit des informations défectueuses ou insuffisantes pour la prise en charge de l’ancrage.

0x0D

Extension ACPI dont l’ACPI a besoin pour l’objet

Nom (ULONG) de la méthode recherchée par ACPI

0 : Cas de base

1 : Conflit

ACPI n’a pas trouvé de méthode ou d’objet obligatoire dans l’espace de noms Ce code de vérification des bogues est utilisé s’il n’existe aucun _HID ou _ADR présent.

0x0E

PowerResource NS dont l’ACPI a besoin pour l’objet

Nom (ULONG) de la méthode recherchée par ACPI

0 : Cas de base

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 des bogues est utilisé s’il n’existe aucun _ON, _OFF ou _STA présent pour une ressource d’alimentation.

0x0F

Mémoire tampon actuelle analysée par ACPI

Balise de la mémoire tampon

Longueur spécifiée de la mémoire tampon

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 analysée par ACPI

Balise de la mémoire tampon

Pointeur vers une variable qui contient la longueur ULONGLONG de la mémoire tampon

ACPI n’a pas pu analyser le descripteur de ressource. La longueur dépasse MAXULONG.

0x15

Contexte AML (ACPI Machine Language)

1 : Échec du chargement de la table

2 : L’objet de chaîne de chemin d’accès du paramètre est introuvable

3 : Échec de l’insertion de données de paramètre dans l’objet string ParameterPath

4 : Mémoire insuffisante du système

Code d’état NT

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

Réservé

ACPI a eu 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.

Si une défaillance ou une incompatibilité de routage d’interruption s’est produite, les paramètres suivants sont utilisés.

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause

0x2001

InterruptModel (entier)

Valeur de retour de l’interpréteur

Pointeur vers la méthode de contrôle PIC

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 d’appareil

Pointeur vers l’objet _PRT

(Consultez la section Commentaires suivante)

ACPI a essayé d’effectuer le routage des interruptions, mais a échoué.

0x10002

Pointeur vers l’objet de l’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)

ACPI n’a pas pu trouver le nœud de lien 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)

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

ACPI a trouvé une entrée dans la _PRT que l’ID de fonction n’est pas tous pour F.

(Le format générique d’une entrée _PRT est que le numéro d’appareil est spécifié, mais pas le numéro de fonction.)

0x10006

Pointeur vers le nœud de lien.

(Cet appareil n’a pas la méthode _DIS.)

0

0

ACPI a trouvé un nœud de lien, mais il ne peut pas désactiver le nœud.

(Les nœuds de liaison doivent être désactivés pour autoriser la indexation.)

0x10007

Vecteur introuvable

0

0

La _PRT contenait une référence à un vecteur qui n’est pas décrit dans la table MAPIC de l’entrée APIC d’E/S.

0x10008

Niveau d’interruption non valide.

0

0

Le niveau d’interruption DE SCI ACPI n’est pas valide.

0x10009

0

0

0

La table de description ACPI fixe (FADT) n’a pas pu se trouver.

0x1000A

0

0

0

Impossible de trouver le pointeur de description du système racine (RSDP) ou la table de description système étendue (XSDT)

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 du tableau.

0x1000C

ID de révision

Index de fonction

0

méthode _DSM pour les interruptions retournées 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, _PRW devez 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

État retourné 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.

Si une défaillance ou une incompatibilité diverses s’est produite, les paramètres suivants sont utilisés.

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause

0x20000

Port d’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 inférieure de l’adresse physique de la région de mémoire.

Longueur de la mémoire mappée.

ACPI a eu 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

ACPI ne peut pas convertir la liste des ressources du BIOS dans le format approprié. Cela représente probablement une erreur dans la procédure d’encodage de liste du BIOS. Un BIOS qui utilise le descripteur de ressource d’espace d’adressage QWORD ACPI doit satisfaire aux restrictions d’alignement décrites dans la section Notes de RtlIoEncodeMemIoResource.

Extension ACPI pour le bus PCI

0x1

Pointeur vers l’IRP QUERY_RESOURCE_REQUIREMENTS

ACPI ne peut pas convertir la liste des ressources du BIOS dans le format approprié. Cela représente probablement une erreur dans la procédure d’encodage de liste du BIOS. Un BIOS qui utilise le descripteur de ressource d’espace d’adressage QWORD ACPI doit satisfaire aux restrictions d’alignement décrites dans la section Notes de RtlIoEncodeMemIoResource.

Extension ACPI pour le bus PCI

0x2

0

ACPI a trouvé une liste de ressources vide.

Extension ACPI pour le bus PCI

0x3

Pointeur vers le descripteur CRS PNP

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 mémoire E820

La liste des ressources que PCI prétend décoder chevauche la liste 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é à un état S non pris en charge.

Extension ACPI dont le mappage est nécessaire

0x1

La 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

La SYSTEM_POWER_STATE qui ne peut pas être mappée

L’appareil prétend pouvoir réveiller le système lorsque le système est 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 de DDB.

0x5

0

0

Le système ne peut pas connecter le vecteur d’interruption.

0x6

0

0

SCI_EN ne devient jamais défini dans le registre de contrôle PM1.

0x7

Pointeur vers la table ayant une somme de contrôle incorrecte

Révision du créateur

La somme de contrôle de table est incorrecte.

0x8

Pointeur vers la table que l’ACPI n’a pas pu charger

Révision du créateur

L’ACPI n’a pas pu charger 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 convient à 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 visitez 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 toujours pas 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 ACPI et vous permet de poursuivre votre installation.

Remarks

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 avec l’adresse de l’objet _PRT comme argument.

Voir aussi

Référence du Code de vérification de bogue