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)