0xA5 de vérification des bogues : ACPI_BIOS_ERROR

La ACPI_BIOS_ERROR vérification des bogues a une valeur de 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

Cette rubrique s’adresse aux développeurs. 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 d’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 trouve pas le vecteur SCI (System Control Interrupt) dans les ressources qui lui sont transmises au démarrage de l’ACPI.

0x02

(Voir le tableau plus loin sur 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

Aointer au _PRW

Nombre d’éléments dans le _PRW

ACPI a évalué une _PRW, et le package qui est revenu ne contient pas 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

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

0x07

Extension ACPI à laquelle la méthode appartient

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 la méthode appartient

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 la méthode appartient

Pointeur vers la méthode

DataType retourné (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 la méthode appartient

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 _EJD appartient

État retourné par l’interpréteur

Nom de l’objet que l’ACPI tente de trouver

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

0x0C

Extension ACPI pour laquelle ACPI a trouvé un appareil d’accueil

Pointeur vers la méthode _EJD

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

1 : Extensions d’appareil dupliquées pour l’appareil d’accueil

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

0x0D

Extension ACPI pour laquelle ACPI a besoin de 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 requis dans l’espace de noms Ce code de vérification des bogues est utilisé s’il n’y a aucun _HID ou _ADR présent.

0x0E

PowerResource NS pour laquelle l’ACPI a besoin de l’objet

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

0 : Cas de base

ACPI n’a pas trouvé de méthode ou d’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’y a 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 sur cette page)

0x11

(Voir le tableau plus loin sur 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 hors 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 non valide

Réservé

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.

Si un échec de routage d’interruption ou une incompatibilité s’est produit, 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 d’appareil

Pointeur vers le parent de l’objet d’appareil

Pointeur vers l’objet _PRT

(Voir la section Commentaires suivante)

ACPI a essayé d’interrompre le routage, mais a échoué.

0x10002

Pointeur vers l’objet d’appareil

Pointeur vers le nom de chaîne que l’ACPI recherchait, mais qu’il n’a pas pu trouver

Pointeur vers l’objet _PRT

(Voir la section Commentaires suivante)

ACPI n’a pas trouvé le nœud de lien référencé dans un _PRT.

0x10003

Pointeur vers l’objet d’appareil

ID d’appareil ou numéro de fonction.

Ce DWORD est encodé comme suit : les bits 5:0 sont le numéro de périphérique PCI et les bits 8:6 sont le numéro de fonction PCI.

Pointeur vers l’objet _PRT

(Voir la section Commentaires suivante)

ACPI n’a pas trouvé de mappage dans le package _PRT pour un appareil.

0x10005

Pointeur vers l’objet _PRT

(Voir 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 de périphérique PCI

L’ACPI a trouvé une entrée dans le _PRT pour laquelle l’ID de fonction ne correspond pas à 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 liaison.

(Il manque la méthode _DIS à cet appareil.)

0

0

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

(Les nœuds de liaison doivent être désactivés pour permettre 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 SCI ACPI n’est pas valide.

0x10009

0

0

0

La table de description ACPI fixe (FADT) n’a pas pu être trouvée.

0x1000A

0

0

0

Impossible de trouver le pointeur de description du système racine (RSDP) ou la table XSDT (Extended System Description Table)

0x1000B

Signature de 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

_DSM méthode pour les interruptions retournées des données incorrectes.

0x1000D

Extension ACPI pour l’appareil

Valeur 0 : _PRW spécifié sans interruption de veille 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 utilisait à la fois 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’accès de l’espace de noms ACPI UNICODE_STRING.

Pointeur vers la liste des ressources comparée à SDEV.

Les ressources SDEV d’un appareil sécurisé ne correspondent pas à son _CRS ou à son entrée _PRS correspondante.

Si un échec ou une incompatibilité divers s’est produit, 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 où 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 mémoire.

Partie faible de l’adresse physique de la région mémoire.

Longueur de la mémoire mappée.

ACPI a rencontré une erreur irrécupérable lors du traitement d’une région d’opération 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 racine 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 de ressources du BIOS au format approprié. Cela représente probablement 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

ACPI ne peut pas convertir la liste de ressources du BIOS au format approprié. Cela représente probablement 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 pu trouver 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 revendique pour 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

Les SYSTEM_POWER_STATE qui ne peuvent pas être mappés

L’ACPI ne trouve pas d’état D à associer à l’état S.

Extension ACPI dont le mappage est nécessaire

0x2

Les SYSTEM_POWER_STATE qui ne peuvent pas être mappés

L’appareil prétend être en mesure de réveiller le système lorsque le système est dans cet état S, mais le système ne prend pas en charge cet état S.

Si le paramètre 1 est égal à 0x11, le système n’a pas pu passer 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 trouvé RSDT.

0x2

0

0

Le système n’a pas pu allouer les 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 les DDB.

0x5

0

0

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

0x6

0

0

SCI_EN n’est jamais défini dans le registre de contrôle PM1.

0x7

Pointeur vers la table qui avait une somme de contrôle incorrecte

Révision du créateur

La somme de contrôle de la 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 de 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 trouvé 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 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 conforme à 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 avertit pas que la touche F7 a été enfoncée, mais il désactive l’ACPI en mode silencieux et vous permet de poursuivre votre installation.

Remarques

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 en utilisant 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