Partilhar via


Verificação de bug 0xA5: ACPI_BIOS_ERROR

A verificação de bug ACPI_BIOS_ERROR tem um valor de 0x000000A5. Essa verificação de bug indica que o BIOS de Interface de Energia e Configuração Avançada (ACPI) do computador não é totalmente compatível com a especificação de ACPI.

Importante

Este artigo é para programadores. Se você for um cliente que recebeu um código de erro de tela azul enquanto estava usando o computador, confira Solucionar problemas de erros de tela azul.

Parâmetros de ACPI_BIOS_ERROR

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

Se a incompatibilidade do BIOS estiver relacionada ao Plug and Play (PnP) ou ao gerenciamento de energia, os parâmetros a seguir serão usados.

Parâmetro 1 Parâmetro 2 Parâmetro 3 Parâmetro 4 Causa

0x01

deviceExtension da ACPI

ResourceList da ACPI

0: Nenhuma lista de recursos foi encontrada

1: Nenhum recurso de IRQ é encontrado na lista

A ACPI não pode localizar o vetor de Interrupção de Controle do Sistema (SCI) nos recursos que são transferidos para ele quando a ACPI é iniciada.

0x02

(Veja a tabela mais adiante nesta página.)

0x03

O objeto ACPI que estava sendo executado

O valor retornado do interpretador

O nome do método de controle (no formato ULONG)

A ACPI tentou executar um método de controle ao criar extensões de dispositivo para representar o namespace ACPI, mas esse método de controle falhou.

0x04

A extensão ACPI à qual _PRW pertence

Um ponteiro para o método

O DataType retornado (veja Amli.h)

A ACPI avaliou um _PRW e esperava encontrar um inteiro como um elemento do pacote.

0x05

A extensão ACPI à qual _PRW pertence

Um ponteiro para o _PRW

O número de elementos no _PRW

A ACPI avaliou um _PRW e o pacote que voltou não continha pelo menos dois elementos. A especificação de ACPI requer que dois elementos estejam sempre presentes em um _PRW.

0x06

A extensão ACPI à qual _PRx pertence

Um ponteiro para o _PRx

Um ponteiro para o nome do objeto a ser procurado

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

0x07

A extensão ACPI à qual o método pertence

Um ponteiro para o método

O DataType retornado (veja Amli.h)

A ACPI avaliou um método e esperava receber um buffer como retorno. No entanto, o método retornou algum outro tipo de dados.

0x08

A extensão ACPI à qual o método pertence

Um ponteiro para o método

O DataType retornado (veja Amli.h)

A ACPI avaliou um método e esperava receber um inteiro como retorno. No entanto, o método retornou algum outro tipo de dados.

0x09

A extensão ACPI à qual o método pertence

Um ponteiro para o método

O DataType retornado (veja Amli.h)

A ACPI avaliou um método e esperava receber um pacote como retorno. No entanto, o método retornou algum outro tipo de dados.

0x0A

A extensão ACPI à qual o método pertence

Um ponteiro para o método

O DataType retornado (veja Amli.h)

A ACPI avaliou um método e esperava receber uma cadeia de caracteres como retorno. No entanto, o método retornou algum outro tipo de dados.

0x0B

A extensão ACPI à qual _EJD pertence

O status que o interpretador retorna

O nome do objeto que a ACPI está tentando encontrar

A ACPI não pode localizar o objeto ao qual uma cadeia de caracteres _EJD faz referência.

0x0C

A extensão ACPI para a qual a ACPI encontrou um dispositivo de encaixe

Um ponteiro para o método _EJD

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

1: duplicar extensões de dispositivo para dispositivo de encaixe

A ACPI fornece informações com falha ou insuficientes para suporte ao dock.

0x0D

A extensão ACPI para a qual a 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. Esse código de verificação de bug é usado se não há nenhum _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 conseguiu localizar um método ou objeto necessário no namespace para um recurso de energia (ou entidade diferente de um "dispositivo"). Esse código de verificação de bug é usado se não há _ON, _OFF ou _STA presente para um recurso de energia.

0x0F

O buffer atual que a ACPI estava analisando

A marcação do buffer

O tamanho especificado do buffer

A ACPI não pôde analisar o descritor de recurso.

0x10

(Veja a tabela mais adiante nesta página.)

0x11

(Veja a tabela mais adiante nesta página.)

0x14

O buffer atual que a ACPI estava analisando

A marcação do buffer

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

A ACPI não pôde analisar o descritor de recurso. O tamanho excede MAXULONG.

0x15

O contexto ACPI Machine Language (AML)

1: Falha ao carregar a tabela

2: O objeto de cadeia de caracteres ParameterPath não foi encontrado

3: Falha ao inserir Dados de Parâmetro no objeto da cadeia de caracteres ParameterPath

4: Sem memória do sistema

O código de status NT

Ocorreu um erro fatal na ACPI ao tentar carregar uma tabela.

0x16

Um ponteiro para o NSOBJ pai

Um ponteiro para o objeto de namespace da ACPI filho ilegal

Reserved

Ocorreu um erro fatal na ACPI ao processar um xSDT. Um objeto foi declarado como filho de um pai que não pode ter filhos.

Se ocorrer uma falha de roteamento de interrupção ou incompatibilidade, os parâmetros a seguir serão usados.

Parâmetro 1 Parâmetro 2 Parâmetro 3 Parâmetro 4 Causa

0x2001

InterruptModel (inteiro)

O valor retornado do interpretador

Um ponteiro para o método de controle PIC

A ACPI tentou avaliar o método de controle PIC, mas falhou.

0x10001

Um ponteiro para o objeto de dispositivo

Um ponteiro para o pai do objeto de dispositivo

Um ponteiro para o objeto _PRT

(Veja a seção Comentários a seguir)

A ACPI tentou executar um roteamento de interrupção, mas falhou.

0x10002

Um ponteiro para o objeto de dispositivo

Um ponteiro para o nome da cadeia de caracteres que a ACPI estava procurando, mas não conseguiu encontrar

Um ponteiro para o objeto _PRT

(Veja a seção Comentários a seguir)

A ACPI não conseguiu encontrar o nó de link referenciado em um _PRT.

0x10003

Um ponteiro para o objeto de dispositivo

A ID do dispositivo ou o número da função.

Esse 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 ponteiro para o objeto _PRT

(Veja a seção Comentários a seguir)

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

0x10005

Um ponteiro para o objeto _PRT

(Veja a seção Comentários a seguir)

Um ponteiro para o elemento _PRT atual.

(Este ponteiro é um índice no _PRT.)

A ID do dispositivo ou o número da função.

Esse 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 no _PRT para a qual a ID da função não é toda F.

(O formato genérico de 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 link.

(O método _DIS está ausente neste dispositivo.)

0

0

A ACPI encontrou um nó de link, mas não pode desabilitar o nó.

(Os nós de link devem ser desabilitados para permitir a 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á descrita na tabela MAPIC da entrada APIC de E/S.

0x10008

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

0

0

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

0x10009

0

0

0

Não foi possível localizar a FADT (Tabela de Descrição ACPI Fixa).

0x1000A

0

0

0

Não foi possível localizar o RSDP (Ponteiro de Descrição do Sistema Raiz) ou a XSDT (Tabela de Descrição do Sistema Estendido)

0x1000B

A assinatura da tabela ACPI

Um ponteiro para a tabela ACPI

0

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

0x1000C

ID da Revisão

Índice de Função

0

O método _DSM para interrupções retornou 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 de GPIO Valor 1: Como há interrupções com capacidade de ativação, o _PRW deve especificar um valor GpeInfo de 0xffffffff

0

Um dispositivo usou as interrupções de GPE e GPIO, o que não é aceito.

0x1000E

O Status retornado pela função de validação.

Ponteiro para o caminho do namespace ACPI UNICODE_STRING.

Ponteiro para a lista de recursos comparada com o SDEV.

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

Se tiver ocorrido uma falha ou incompatibilidade diversa, os parâmetros a seguir serão usados.

Parâmetro 1 Parâmetro 2 Parâmetro 3 Parâmetro 4 Causa

0x20000

A porta de E/S na Tabela Fixa

0

0

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

Esta tabela descreve problemas de uso de memória em que os parâmetros a seguir são usados.

Parâmetro 1 Parâmetro 2 Parâmetro 3 Parâmetro 4 Causa

0x1000

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

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

O tamanho da memória que está sendo mapeada.

Ocorreu um erro fatal na ACPI 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 operacional.

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

Parâmetro 2 Parâmetro 3 Parâmetro 4 Causa

A extensão ACPI do barramento PCI

0x0

Um ponteiro para o IRP QUERY_RESOURCES

A ACPI não pode converter a lista de recursos do BIOS no formato adequado. Isso provavelmente representa um erro no procedimento de codificação de lista do BIOS.

A extensão ACPI do barramento PCI

0x1

Um ponteiro para o IRP QUERY_RESOURCE_REQUIREMENTS

A ACPI não pode converter a lista de recursos do BIOS no formato adequado. Isso provavelmente representa um erro no procedimento de codificação de lista do BIOS.

A extensão ACPI do barramento PCI

0x2

0

A ACPI encontrou uma lista de recursos vazia.

A extensão ACPI do barramento PCI

0x3

Um ponteiro para o descritor PNP CRS

A ACPI não conseguiu encontrar o número de barramento atual no CRS.

A extensão ACPI do barramento PCI

Um ponteiro para a lista de recursos para PCI

Um ponteiro para a tabela de memória E820

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

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

Parâmetro 2 Parâmetro 3 Parâmetro 4 Causa

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 sem suporte.

A extensão ACPI cujo mapeamento é necessário

0x1

O SYSTEM_POWER_STATE que não pode ser mapeado

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

A extensão ACPI cujo mapeamento é necessário

0x2

O SYSTEM_POWER_STATE que não pode ser mapeado

O dispositivo informa que é possível ativar o sistema quando o sistema está no estado S, mas o sistema não tem suporte para esse estado S.

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

Parâmetro 2 Parâmetro 3 Parâmetro 4 Causa

0x0

0

0

Não foi possível para o sistema inicializar o interpretador de AML.

0x1

0

0

O sistema não conseguiu localizar a RSDT.

0x2

0

0

Não foi possível para o sistema alocar estruturas de driver críticas.

0x3

0

0

Não foi possível para o sistema carregar a RSDT.

0x4

0

0

Não foi possível para o sistema carregar DDBs.

0x5

0

0

O sistema não pode conectar o vetor de interrupção.

0x6

0

0

SCI_EN nunca se torna definido no Registro de Controle PM1.

0x7

Um ponteiro para a tabela que tinha uma soma de verificação inválida

Revisão do criador

A soma de verificação da tabela está incorreta.

0x8

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

Revisão do criador

Falha na ACPI ao carregar DDB.

0x9

Versão do FADT

0

Versão de firmware sem suporte.

0xA

0

0

O sistema não conseguiu localizar a MADT.

0xB

0

0

Não foi possível para o sistema encontrar nenhuma estrutura SAPIC Local válida na MADT.

Causa

O valor de Parâmetro 1 indica o erro.

Resolução

Se você estiver depurando esse erro, use a extensão !analyze -v. Essa extensão exibe todos os dados relevantes (extensões de dispositivo, nsobjects ou o que quer que seja adequado para o erro específico).

Se você não estiver executando a depuração, esse erro indicará que você precisa obter um novo BIOS. Entre em contato com um fornecedor ou visite a Internet para obter um novo BIOS.

Se você não conseguir obter um BIOS atualizado ou se o BIOS mais recente ainda não for compatível com a ACPI, você poderá desativar o modo ACPI durante a configuração do modo de texto. Para desativar o modo ACPI, pressione a tecla F7 quando for solicitado para você instalar drivers de armazenamento. O sistema não notifica que a tecla F7 foi pressionada, mas desabilita silenciosamente a ACPI e permite que você continue a instalação.

Comentários

Uma tabela de roteamento de PCI (_PRT) é o objeto BIOS da ACPI que especifica como todos os dispositivos PCI estão conectados aos controladores de interrupção. Um computador com vários barramentos PCI pode ter vários _PRTs.

Você pode exibir um _PRT no depurador usando a extensão !acpikd.nsobj junto com o endereço do objeto _PRT como seu argumento.

Confira também

Referência de código de verificação de bugs