Verificação de bugs 0xA5: ACPI_BIOS_ERROR

O ACPI_BIOS_ERROR bug check tem um valor de 0x000000A5. Esta verificação de bugs indica que a BIOS Advanced Configuration and Power Interface (ACPI) do computador não está totalmente em conformidade com a especificação ACPI.

Important

Este artigo é para programadores. Se é cliente e recebeu um código de erro de ecrã azul enquanto usava o computador, consulte Solucionar erros de ecrã azul.

ACPI_BIOS_ERROR Parâmetros

O parâmetro 1 indica o tipo de incompatibilidade. O significado dos outros parâmetros depende do valor do Parâmetro 1.

Se a incompatibilidade do BIOS estiver relacionada com Plug and Play (PnP) ou gestão de energia, são usados os seguintes parâmetros.

Parâmetro 1 Parâmetro 2 Parâmetro 3 Parâmetro 4 Motivo

0x01

DeviceExtensão da ACPI

Lista de Recursos da ACPI

0: Não é encontrada nenhuma lista de recursos

1: Não se encontra nenhum recurso IRQ na lista

O ACPI não consegue encontrar o vetor de Interrupção de Controlo do Sistema (SCI) nos recursos que lhe são entregues quando o ACPI é iniciado.

0x02

(Ver a tabela mais adiante nesta página)

0x03

O objeto ACPI que estava a ser executado

O valor de retorno do interpretador

O nome do método de controlo (em formato ULONG)

O ACPI tentou executar um método de controlo enquanto criava extensões de dispositivo para representar o espaço de nomes ACPI, mas este método de controlo falhou.

0x04

A extensão ACPI a _PRW pertence

Um apontador para o método

O DataType devolvido (ver Amli.h)

O ACPI avaliou um _PRW e esperava encontrar um inteiro como elemento de pacote.

0x05

A extensão ACPI a _PRW pertence

Um sinal para o _PRW

O número de elementos na _PRW

A ACPI avaliou um _PRW, e o pacote que recebeu não conseguiu conter pelo menos dois elementos. A especificação ACPI exige que dois elementos estejam sempre presentes numa _PRW.

0x06

A extensão ACPI a que _PRx pertence

Um apontar para o _PRx

Um apontador para o nome do objeto a procurar

A ACPI tentou encontrar um objeto nomeado, mas não conseguiu encontrar o objeto.

0x07

A extensão ACPI a que o método pertence

Um apontador para o método

O DataType devolvido (ver Amli.h)

O ACPI avaliou um método e esperava receber um tampão em troca. No entanto, o método devolveu outro tipo de dado.

0x08

A extensão ACPI a que o método pertence

Um apontador para o método

O DataType devolvido (ver Amli.h)

O ACPI avaliou um método e esperava receber um inteiro em troca. No entanto, o método devolveu outro tipo de dado.

0x09

A extensão ACPI a que o método pertence

Um apontador para o método

O DataType devolvido (ver Amli.h)

A ACPI avaliou um método e esperava receber um pacote em troca. No entanto, o método devolveu outro tipo de dado.

0x0A

A extensão ACPI a que o método pertence

Um apontador para o método

O DataType devolvido (ver Amli.h)

O ACPI avaliou um método e esperava receber uma cadeia em troca. No entanto, o método devolveu outro tipo de dado.

0x0B

A extensão ACPI a _EJD pertence

O estado que o intérprete devolve

O nome do objeto que a ACPI está a tentar encontrar

O ACPI não consegue encontrar o objeto que uma cadeia de _EJD referencia.

0x0C

A extensão ACPI para a qual a ACPI encontrou um dispositivo dock

Um apontador para o método _EJD

0: O BIOS não afirma que o sistema é dockage

1: Extensões duplicadas de dispositivos para dispositivos dock

O ACPI fornece informações defeituosas ou insuficientes para o suporte da doca.

0x0D

A extensão ACPI para a qual o ACPI precisa do objeto

O nome (ULONG) do método que a ACPI procurou

0: Caso base

1: Conflito

A ACPI não conseguiu encontrar um método ou objeto necessário no namespace. Este código de verificação de bugs é usado se não houver _HID ou _ADR presente.

0x0E

O NS PowerResource para o qual a ACPI precisa do objeto

O nome (ULONG) do método que a ACPI procurou

0: Caso base

A ACPI não conseguia encontrar um método ou objeto necessário no namespace para um recurso de energia (ou entidade que não fosse um "dispositivo"). Este código de verificação de bugs é usado se não houver _ON, _OFF ou _STA presente para um recurso de energia.

0x0F

O buffer atual que a ACPI estava a analisar

A etiqueta do buffer

O comprimento especificado do buffer

A ACPI não conseguiu analisar o descritor de recursos.

0x10

(Ver a tabela mais adiante nesta página)

0x11

(Ver a tabela mais adiante nesta página)

0x14

O buffer atual que a ACPI estava a analisar

A etiqueta do buffer

Um ponteiro para uma variável que contém o comprimento ULONGLONG do buffer

A ACPI não conseguiu analisar o descritor de recursos. O comprimento excede o MAXULONG.

0x15

O contexto da Linguagem de Máquina ACPI (AML)

1: Falhou o carregamento da tabela

2: O Objeto da Cadeia de Caminho do Parâmetro não foi encontrado

3: Falhou a inserção de dados de parâmetros no objeto ParameterPath String

4: Fora da memória do sistema

O código de estatuto do NT

O ACPI teve um erro fatal ao tentar carregar uma tabela.

0x16

Uma referência para o NSOBJ principal

Um apontador para o objeto ilegal de namespace ACPI filho

Reservado

O ACPI apresentou um erro fatal ao processar um xSDT. Um objeto foi declarado como filho de um progenitor que não pode ter filhos.

Se ocorrer uma falha ou incompatibilidade no encaminhamento de interrupções, são utilizados os seguintes parâmetros.

Parâmetro 1 Parâmetro 2 Parâmetro 3 Parâmetro 4 Motivo

0x2001

InterruptModel (inteiro)

O valor de retorno do interpretador

Um apontador para o método de controlo PIC

O ACPI tentou avaliar o método de controlo do PIC, mas falhou.

0x10001

Um apontador para o objeto dispositivo

Um apontador para o pai do objeto dispositivo

Um apontador para o objeto _PRT

(Ver a seguinte secção de Comentários)

A ACPI tentou fazer o encaminhamento por interrupções, mas falhou.

0x10002

Um apontador para o objeto dispositivo

Um apontador para o nome da string que a ACPI procurava mas não conseguiu encontrar

Um apontador para o objeto _PRT

(Ver a seguinte secção de Comentários)

A ACPI não conseguiu encontrar o nó de ligação referenciado numa _PRT.

0x10003

Um apontador para o objeto dispositivo

O ID do dispositivo ou número de função.

Este DWORD é codificado da seguinte forma: bits 5:0 são o número do dispositivo PCI, e bits 8:6 são o número da função PCI

Um apontador para o objeto _PRT

(Ver a seguinte secção de Comentários)

A ACPI não conseguiu encontrar um mapeamento no pacote _PRT para um dispositivo.

0x10005

Um apontador para o objeto _PRT

(Ver a seguinte secção de Comentários)

Um indicador para o elemento _PRT atual.

(Este ponteiro é um índice para a _PRT.)

O ID do dispositivo ou número de função.

Este DWORD é codificado da seguinte forma: bits 15:0 são o número da função PCI, e bits 31:16 são o número do dispositivo PCI

A ACPI encontrou uma entrada na _PRT que o ID da função não é todo F's.

(O formato genérico para uma entrada _PRT é que o número do dispositivo é especificado, mas o número da função não.)

0x10006

Um ponteiro para o nó de ligação.

(Este dispositivo não tem o método _DIS.)

0

0

A ACPI encontrou um nó de ligação, mas não consegue desativá-lo.

(Os nós de ligação devem ser desativados para permitir reprogramação.)

0x10007

O vetor que não pôde ser encontrado

0

0

O _PRT continha uma referência a um vetor que não está descrito na tabela MAPIC da entrada de I/O APIC.

0x10008

O nível de interrupção inválido.

0

0

O nível de interrupção ACPI SCI é inválido.

0x10009

0

0

0

A Tabela Fixa de Descrição ACPI (FADT) não pôde ser localizada.

0x1000A

0

0

0

O Ponteiro de Descrição do Sistema Raiz (RSDP) ou a Tabela de Descrição do Sistema Estendido (XSDT) não puderam ser localizados

0x1000B

A assinatura da tabela ACPI

Um apontador para a tabela ACPI

0

O comprimento da tabela ACPI não é consistente com a revisão da tabela.

0x1000C

ID da revisão

Índice de Função

0

_DSM método para interrupções devolveu dados malformados.

0x1000D

A Extensão ACPI para o dispositivo

Valor 0 : _PRW especificado sem interrupções com capacidade de ativação e pelo menos uma interrupção GPIO Valor 1 : Como existem interrupções com capacidade de vigília, _PRW deve especificar um valor GpeInfo de 0xffffffff

0

Um dispositivo usava tanto interrupções GPE como GPIO, o que não é suportado.

0x1000E

O Estado é devolvido pela função de validação.

Apontar para o caminho do espaço de nomes ACPI UNICODE_STRING.

Aponta para a lista de recursos comparada com a SDEV.

Os recursos SDEV de um dispositivo seguro não correspondem à sua entrada _CRS ou _PRS correspondente.

Se ocorrer uma falha ou incompatibilidade diversa, são utilizados os seguintes parâmetros.

Parâmetro 1 Parâmetro 2 Parâmetro 3 Parâmetro 4 Motivo

0x20000

A porta de E/S na Tabela Fixa

0

0

A PM_TMR_BLK entrada na Tabela de Descrição ACPI Fixa não aponta para um bloco temporizador ACPI a funcionar.

Esta tabela descreve questões de utilização de memória onde são utilizados os seguintes parâmetros.

Parâmetro 1 Parâmetro 2 Parâmetro 3 Parâmetro 4 Motivo

0x1000

A parte alta do endereço físico da região de memória.

A parte inferior do endereço físico da região de memória.

O comprimento da memória a ser mapeado.

O ACPI apresentava um erro fatal ao processar uma região de operação de memória. A região de operação de memória tentou mapear a memória que foi alocada para uso do sistema operativo.

Se o Parâmetro 1 for igual a 0x02, o BIOS ACPI não conseguiu processar a lista de recursos para os barramentos raiz PCI. Neste caso, o Parâmetro 3 especifica o problema exato, e os restantes parâmetros têm as seguintes definições.

Parâmetro 2 Parâmetro 3 Parâmetro 4 Motivo

A extensão ACPI para o barramento PCI

0x0

Um apontador para o IRP QUERY_RESOURCES

A ACPI não consegue converter a lista de recursos do BIOS para o formato correto. Isto provavelmente representa um erro no procedimento de codificação por listas da BIOS. Uma BIOS que utilize o Descritor de Recursos do Espaço de Endereçamento ACPI QWORD deve satisfazer as restrições de alinhamento descritas na secção de Observações do RtlIoEncodeMemIoResource.

A extensão ACPI para o barramento PCI

0x1

Um apontador para o IRP QUERY_RESOURCE_REQUIREMENTS

A ACPI não consegue converter a lista de recursos do BIOS para o formato correto. Isto provavelmente representa um erro no procedimento de codificação por listas da BIOS. Uma BIOS que utilize o Descritor de Recursos do Espaço de Endereçamento ACPI QWORD deve satisfazer as restrições de alinhamento descritas na secção de Observações do RtlIoEncodeMemIoResource.

A extensão ACPI para o barramento PCI

0x2

0

A ACPI encontrou uma lista de recursos vazia.

A extensão ACPI para o barramento PCI

0x3

Um apontador para o descritor PNP CRS

A ACPI não conseguiu encontrar o número atual do bus no CRS.

A extensão ACPI para o barramento PCI

Um apontador para a lista de recursos para PCI

Um apontador para a tabela de memória E820

A lista de recursos que o PCI afirma decodificar sobrepõe-se à lista de regiões de memória que a interface BIOS E820 reporta. (Este tipo de conflito nunca é permitido.)

Se o Parâmetro 1 for igual a 0x10, a BIOS ACPI não conseguiu determinar corretamente o mapeamento sistema para o estado do dispositivo. Nesta situação, o Parâmetro 3 especifica o problema exato, e os restantes parâmetros têm as seguintes definições.

Parâmetro 2 Parâmetro 3 Parâmetro 4 Motivo

A extensão ACPI cujo mapeamento é necessário

0x0

O DEVICE_POWER_STATE (isto é "x+1")

_PRx foi mapeado de volta para um estado S não apoiado.

A extensão ACPI cujo mapeamento é necessário

0x1

A SYSTEM_POWER_STATE que não pode ser mapeada

A ACPI não consegue encontrar um estado D para associar ao estado S.

A extensão ACPI cujo mapeamento é necessário

0x2

A SYSTEM_POWER_STATE que não pode ser mapeada

O dispositivo afirma ser capaz de acordar o sistema quando este está neste estado S, mas o sistema não suporta realmente este estado S.

Se o Parâmetro 1 for igual a 0x11, o sistema não poderá entrar no modo ACPI. Nesta situação, o Parâmetro 2 especifica o problema exato, e os restantes parâmetros têm as seguintes definições.

Parâmetro 2 Parâmetro 3 Parâmetro 4 Motivo

0x0

0

0

O sistema não conseguia inicializar o interpretador AML.

0x1

0

0

O sistema não conseguiu encontrar o RSDT.

0x2

0

0

O sistema não conseguia alocar estruturas de drivers críticas.

0x3

0

0

O sistema não conseguia carregar o RSDT.

0x4

0

0

O sistema não conseguia carregar DDBs.

0x5

0

0

O sistema não pode ligar o vetor de Interrupção.

0x6

0

0

SCI_EN nunca fica definido no Registo de Controlo PM1.

0x7

Um apontador para a tabela que tinha uma soma de verificação mau

Revisão do criador

O checksum da tabela está incorreto.

0x8

Um apontador para a tabela que o ACPI não conseguiu carregar

Revisão do criador

O ACPI falhou ao carregar o DDB.

0x9

Versão FADT

0

Versão de firmware não suportada.

0xA

0

0

O sistema não conseguiu encontrar o MADT.

0xB

0

0

O sistema não conseguiu encontrar quaisquer estruturas locais SAPIC válidas no MADT.

Motivo

O valor do Parâmetro 1 indica o erro.

Resolução

Se estiver a depurar este erro, use a extensão !analysis -v . Esta extensão mostra todos os dados relevantes (extensões de dispositivo, nsobjects ou o que for apropriado ao erro específico).

Se não estiver a fazer depuração, este erro indica que tem de obter uma nova BIOS. Contacte o seu fornecedor ou visite a internet para obter uma nova BIOS.

Se não conseguir obter uma BIOS atualizada, ou se a BIOS mais recente ainda não for compatível com ACPI, pode desligar o modo ACPI durante a configuração em modo texto. Para desligar o modo ACPI, pressione a tecla F7 quando for solicitado instalar drivers de armazenamento. O sistema não o notifica que a tecla F7 foi pressionada, mas desativa silenciosamente o ACPI e permite continuar a instalação.

Remarks

Uma tabela de encaminhamento PCI (_PRT) é o objeto ACPI BIOS que especifica como todos os dispositivos PCI estão ligados aos controladores de interrupção. Um computador com múltiplos barramentos PCI pode ter múltiplos _PRTs.

Pode mostrar um _PRT no depurador usando a extensão !acpikd.nsobj juntamente com o endereço do objeto _PRT como argumento.

Ver também

Referência dos códigos de verificação de erros