Compartir a través de


Comprobación de errores 0xA5: ACPI_BIOS_ERROR

La comprobación de errores ACPI_BIOS_ERROR tiene un valor de 0x000000A5. Esta comprobación de errores indica que el BIOS de la Interfaz avanzada de configuración y energía (ACPI) del equipo no es totalmente compatible con la especificación ACPI.

Importante

Este artículo va dirigido a programadores. Si es un cliente que ha recibido un código de error de pantalla azul mientras usa el equipo, consulte Solución de errores de pantalla azul.

Parámetros de ACPI_BIOS_ERROR

El parámetro 1 indica el tipo de incompatibilidad. El significado de los demás parámetros depende del valor del parámetro 1.

Si la incompatibilidad del BIOS está relacionada con Plug and Play (PnP) o la administración de energía, se usan los parámetros siguientes.

Parámetro 1 Parámetro 2 Parámetro 3 Parámetro 4 Causa

0x01

deviceExtension de ACPI

ResourceList de ACPI

0: No se encuentra ninguna lista de recursos

1: No se encuentra ningún recurso IRQ en la lista

ACPI no encuentra el vector de interrupción del control del sistema (SCI) en los recursos que se le entregan cuando se inicia ACPI.

0x02

(Consulte la tabla más adelante en esta página)

0x03

Objeto ACPI que se estaba ejecutando

El valor devuelto por el intérprete

Nombre del método de control (en formato ULONG)

ACPI intentó ejecutar un método de control al crear extensiones de dispositivo para representar el espacio de nombres de ACPI, pero se produjo un error en este método de control.

0x04

Extensión de ACPI a la que pertenece _PRW

Puntero al método

El DataType devuelto (consulte Amli.h)

ACPI evaluó un _PRW y esperaba encontrar un entero como un elemento de paquete.

0x05

Extensión de ACPI a la que pertenece _PRW

Puntero a _PRW

Número de elementos incluidos en _PRW

ACPI evaluó un _PRW y el paquete que se obtuvo no pudo contener al menos dos elementos. La especificación de ACPI requiere que dos elementos estén siempre presentes en un _PRW.

0x06

Extensión de ACPI a la que pertenece _PRx

Puntero a _PRx

Puntero al nombre del objeto que se va a buscar

ACPI intentó encontrar un objeto con nombre, pero no pudo encontrarlo.

0x07

Extensión de ACPI a la que pertenece el método

Puntero al método

El DataType devuelto (consulte Amli.h)

ACPI evaluó un método y esperaba recibir un búfer a cambio. Sin embargo, el método devolvió algún otro tipo de datos.

0x08

Extensión de ACPI a la que pertenece el método

Puntero al método

El DataType devuelto (consulte Amli.h)

ACPI evaluó un método y esperaba recibir un entero a cambio. Sin embargo, el método devolvió algún otro tipo de datos.

0x09

Extensión de ACPI a la que pertenece el método

Puntero al método

El DataType devuelto (consulte Amli.h)

ACPI evaluó un método y esperaba recibir un paquete a cambio. Sin embargo, el método devolvió algún otro tipo de datos.

0x0A

Extensión de ACPI a la que pertenece el método

Puntero al método

El DataType devuelto (consulte Amli.h)

ACPI evaluó un método y esperaba recibir una cadena a cambio. Sin embargo, el método devolvió algún otro tipo de datos.

0x0B

Extensión de ACPI a la que pertenece _EJD

Estado que devuelve el intérprete

Nombre del objeto que ACPI está intentando encontrar

ACPI no encuentra el objeto al que hace referencia una cadena _EJD.

0x0C

Extensión de ACPI para la que ACPI encontró un dispositivo de acoplamiento

Puntero al método _EJD

0: El BIOS no indica que el sistema esté acoplado

1: Duplicación de extensiones de dispositivo para el dispositivo de acoplamiento

ACPI proporciona información defectuosa o insuficiente para el soporte de acoplamiento.

0x0D

Extensión de ACPI para la que ACPI necesita el objeto

Nombre (ULONG) del método que ACPI busca

0: Caso base

1: Conflicto

ACPI no encontró un método u objeto necesario en el espacio de nombres Este código de comprobación de errores se usa si no hay _HID o _ADR presentes.

0x0E

PowerResource de NS para el que ACPI necesita el objeto

Nombre (ULONG) del método que ACPI busca

0: Caso base

ACPI no pudo encontrar un método u objeto necesario en el espacio de nombres para un recurso de energía (o entidad distinta de "dispositivo"). Este código de comprobación de errores se usa si no hay _ON, _OFF o _STA presentes para un recurso de energía.

0x0F

Búfer actual que ACPI estaba analizando

Etiqueta del búfer

Longitud especificada del búfer

ACPI no pudo analizar el descriptor de recursos.

0x10

(Consulte la tabla más adelante en esta página)

0x11

(Consulte la tabla más adelante en esta página)

0x14

Búfer actual que ACPI estaba analizando

Etiqueta del búfer

Puntero a una variable que contiene la longitud de ULONGLONG del búfer

ACPI no pudo analizar el descriptor de recursos. La longitud supera MAXULONG.

0x15

Contexto del lenguaje de máquina de ACPI (AML)

1: No se pudo cargar la tabla

2: No se encontró el objeto de cadena de ruta de acceso del parámetro

3: No se pudieron insertar datos de parámetro en el objeto de cadena ParameterPath

4: Memoria insuficiente del sistema

Código de estado NT

ACPI tuvo un error irrecuperable al intentar cargar una tabla.

0x16

Puntero al NSOBJ primario

Puntero al objeto de espacio de nombres ACPI secundario no válido

Reserved

ACPI tuvo un error irrecuperable al procesar un xSDT. Un objeto se declaró como elemento secundario de un elemento primario que no puede tener elementos secundarios.

Si se ha producido un error de enrutamiento de interrupción o incompatibilidad, se usan los parámetros siguientes.

Parámetro 1 Parámetro 2 Parámetro 3 Parámetro 4 Causa

0x2001

InterruptModel (entero)

El valor devuelto por el intérprete

Puntero al método de control PIC

ACPI intentó evaluar el método de control PIC pero no se pudo realizar.

0x10001

Un puntero al objeto del dispositivo

Puntero al elemento primario del objeto de dispositivo

Puntero al objeto _PRT

(Consulte la sección de Comentarios siguiente)

ACPI intentó realizar el enrutamiento de interrupciones, pero no se pudo realizar.

0x10002

Un puntero al objeto del dispositivo

Puntero al nombre de la cadena que ACPI estaba buscando, pero no pudo encontrar

Puntero al objeto _PRT

(Consulte la sección de Comentarios siguiente)

ACPI no encontró el nodo de vínculo al que se hace referencia en un _PRT.

0x10003

Un puntero al objeto del dispositivo

ID de dispositivo o número de función.

Esta DWORD se codifica de la siguiente manera: los bits 5:0 son el número de dispositivo PCI y los bits 8:6 son el número de función PCI.

Puntero al objeto _PRT

(Consulte la sección de Comentarios siguiente)

ACPI no encontró una asignación en el paquete _PRT para un dispositivo.

0x10005

Puntero al objeto _PRT

(Consulte la sección de Comentarios siguiente)

Puntero al elemento _PRT actual.

(Este puntero es un índice en el _PRT).

ID de dispositivo o número de función.

Esta DWORD se codifica de la siguiente manera: los bits 15:0 son el número de función PCI y los bits 31:16 son el número de dispositivo PCI.

ACPI encontró una entrada en el _PRT para la que el ID de función no es el de F.

(El formato genérico de una entrada de _PRT es que se especifica el número de dispositivo, pero no el número de función).

0x10006

Puntero al nodo de vínculo.

(En este dispositivo falta el método _DIS).

0

0

ACPI encontró un nodo de vínculo, pero no puede deshabilitar el nodo.

(Los nodos de vínculo deben deshabilitarse para permitir la reprogramación).

0x10007

Vector que no se encontró

0

0

El _PRT contenía una referencia a un vector que no se describe en la tabla MAPIC de la entrada de APIC de E/S.

0x10008

Nivel de interrupción no válido.

0

0

El nivel de interrupción de SCI de ACPI no es válido.

0x10009

0

0

0

No se pudo encontrar la tabla de descripciones de ACPI fija (FADT).

0x1000A

0

0

0

No se pudo encontrar el puntero de descripción del sistema raíz (RSDP) ni la tabla de descripciones del sistema extendida (XSDT).

0x1000B

Firma de tabla ACPI

Puntero a la tabla ACPI

0

La longitud de la tabla ACPI no es coherente con la revisión de la tabla.

0x1000C

Id. de revisión

Índice de función

0

Método _DSM para interrupciones devolvió datos con formato incorrecto.

0x1000D

Extensión ACPI para el dispositivo

Valor 0 : _PRW especificado sin interrupciones compatibles con reactivación y al menos una interrupción GPIO Valor 1 : Dado que hay interrupciones compatibles con reactivación, _PRW debe especificar un valor GpeInfo de 0xffffffff

0

Un dispositivo usó interrupciones GPE y GPIO, que no se admiten.

0x1000E

El estado devuelto por la función de validación.

Puntero a la ruta de acceso del espacio de nombres de ACPI UNICODE_STRING.

Puntero a la lista de recursos en comparación con SDEV.

Los recursos de SDEV de un dispositivo seguro no coinciden con su entrada de _CRS o _PRS correspondiente.

Si se ha producido un error o incompatibilidad varios, se usan los parámetros siguientes.

Parámetro 1 Parámetro 2 Parámetro 3 Parámetro 4 Causa

0x20000

Puerto de E/S en la tabla fija

0

0

La entrada PM_TMR_BLK de la tabla de descripciones de ACPI fija no apunta a un bloque de temporizador ACPI en funcionamiento.

En esta tabla se describen los problemas de uso de memoria en los que se usan los parámetros siguientes.

Parámetro 1 Parámetro 2 Parámetro 3 Parámetro 4 Causa

0x1000

La parte alta de la dirección física de la región de memoria.

La parte baja de la dirección física de la región de memoria.

Longitud de la memoria que se asigna.

ACPI tuvo un error irrecuperable al procesar una región de operación de memoria. La región de la operación de memoria intentó asignar la memoria asignada para el uso del sistema operativo.

Si el parámetro 1 es igual a 0x02, el BIOS de ACPI no pudo procesar la lista de recursos de los buses raíz PCI. En este caso, el parámetro 3 especifica el problema exacto y los parámetros restantes tienen las definiciones siguientes.

Parámetro 2 Parámetro 3 Parámetro 4 Causa

Extensión de ACPI para el bus PCI

0x0

Puntero al IRP de QUERY_RESOURCES

ACPI no puede convertir la lista de recursos del BIOS en el formato adecuado. Esto probablemente representa un error en el procedimiento de codificación de lista del BIOS.

Extensión de ACPI para el bus PCI

0x1

Puntero al IRP de QUERY_RESOURCE_REQUIREMENTS

ACPI no puede convertir la lista de recursos del BIOS en el formato adecuado. Esto probablemente representa un error en el procedimiento de codificación de lista del BIOS.

Extensión de ACPI para el bus PCI

0x2

0

ACPI encontró una lista de recursos vacía.

Extensión de ACPI para el bus PCI

0x3

Puntero al descriptor CRS de PNP

ACPI no encontró el número actual de bus en el CRS.

Extensión de ACPI para el bus PCI

Puntero a la lista de recursos para PCI

Puntero a la tabla de memoria E820

La lista de recursos que PCI afirma descodificar se superpone con la lista de regiones de memoria que notifica la interfaz del BIOS E820. (Este tipo de conflicto nunca se permite).

Si el parámetro 1 es igual a 0x10, el BIOS de ACPI no pudo determinar correctamente la asignación de estado del sistema al dispositivo. En esta situación, el parámetro 3 especifica el problema exacto y los parámetros restantes tienen las definiciones siguientes.

Parámetro 2 Parámetro 3 Parámetro 4 Causa

Extensión ACPI cuya asignación es necesaria

0x0

DEVICE_POWER_STATE (es "x+1")

_PRx se asignó de nuevo a un estado S no compatible.

Extensión ACPI cuya asignación es necesaria

0x1

SYSTEM_POWER_STATE que no se puede asignar

ACPI no encuentra un estado D para asociarlo con el estado S.

Extensión ACPI cuya asignación es necesaria

0x2

SYSTEM_POWER_STATE que no se puede asignar

El dispositivo afirma poder reactivar el sistema cuando está en este estado S, pero el sistema no admite realmente este estado S.

Si el parámetro 1 es igual a 0x11, el sistema no pudo entrar en el modo ACPI. En esta situación, el parámetro 2 especifica el problema exacto y los parámetros restantes tienen las definiciones siguientes.

Parámetro 2 Parámetro 3 Parámetro 4 Causa

0x0

0

0

El sistema no pudo inicializar el intérprete de AML.

0x1

0

0

El sistema no pudo encontrar RSDT.

0x2

0

0

El sistema no pudo asignar estructuras de controlador críticas.

0x3

0

0

El sistema no pudo cargar RSDT.

0x4

0

0

El sistema no pudo cargar DDB.

0x5

0

0

El sistema no puede conectar el vector de interrupción.

0x6

0

0

SCI_EN nunca se establece en el registro de control PM1.

0x7

Puntero a la tabla que tenía una suma de comprobación incorrecta

Revisión del creador

La suma de control de la tabla es incorrecta.

0x8

Puntero a la tabla que ACPI no pudo cargar

Revisión del creador

Error de ACPI al cargar DDB.

0x9

Versión de FADT

0

Versión de firmware no admitida.

0xA

0

0

El sistema no pudo encontrar MADT.

0xB

0

0

El sistema no pudo encontrar ninguna estructura SAPIC local válida en MADT.

Causa

El valor del parámetro 1 indica el error.

Solución

Si está depurando este error, use la extensión !analyze -v. Esta extensión muestra todos los datos pertinentes (extensiones de dispositivo, nsobjects o lo que sea adecuado para el error específico).

Si no está realizando la depuración, este error indica que tiene que obtener un BIOS nuevo. Póngase en contacto con su proveedor o visite Internet para obtener un nuevo BIOS.

Si no puede obtener un BIOS actualizado o el BIOS más reciente sigue sin ser compatible con ACPI, puede desactivar el modo ACPI durante la configuración del modo de texto. Para desactivar el modo ACPI, pulse la tecla F7 cuando se le pida que instale controladores de almacenamiento. El sistema no le notifica que se ha pulsado la tecla F7, sino que deshabilita de forma silenciosa ACPI y le permite continuar la instalación.

Comentarios

Una tabla de enrutamiento PCI (_PRT) es el objeto BIOS ACPI que especifica cómo se conectan todos los dispositivos PCI a los controladores de interrupción. Un equipo con varios buses PCI puede tener varios _PRT.

Puede mostrar un _PRT en el depurador mediante la extensión !acpikd.nsobj junto con la dirección del objeto _PRT como argumento.

Consulte también

Bug Check Code Reference (Referencia de código de comprobación de errores)