The following information can help you debug a Stop 0x000000A5 error.
- The cause of the Stop message is always errors in the ACPI BIOS. There is nothing that you can fix at the level of the operating system.
- This Stop message can occur at other times. For example, you could receive this Stop error after you install Windows XP and later make a hardware change, such as adding a device. A computer that works properly with Microsoft Windows 98 may not work with Windows XP. Windows 98 does not necessarily use all of the ACPI functions that Windows XP uses. Windows 98 may allow workarounds that Windows XP cannot use because of its more stringent requirements for system stability).
The following information lists possible causes of the Stop 0x000000A5 error. To identify the cause of this Stop error, note
Parameter1 and compare it to the numbers listed in the following paragraphs, to get a general idea of the problem.
The other parameters (arguments) are not discussed in this article. You can view these other arguments only by connecting the system to a kernel debugger. This article provides a description of the issues that this Stop error can involve, without requiring more advanced debugging. For more information, refer to Acpidbg.h.
(0x00000001, Parameter2, Parameter3, Parameter4):This argument is defined as an ACPI root resources failure. More specifically, ACPI could not find the system control interrupt (SCI) vector in any of the resources that ACPI received at startup. SCI is a special interrupt type that provides a more efficient way to deal with problems that are normally handled by system management interrupts (SMI). If SCIs cannot be initialized, ACPI cannot function. This can occur if no entry for this IRQ is found in the list or if no IRQ resource list was found at all.
(0x00000002, Parameter2, Parameter3, Parameter4):This error is defined as ACPI root PCI resource failure. To discover what current resources are being used by PCI devices, ACPI must be able to query the CRS descriptor in the ACPI namespace. This error occurs if the BIOS lacks a pointer to the list, or if the list is empty, or if the list contains errors or conflicts.
(0x00000003, Parameter2, Parameter3, Parameter4):This error is defined as "ACPI failed must succeed method." This error occurs if ACPI cannot build a control method to reference the ACPI namespace. Other arguments for this error reference the ACPI object that was being run and the name of the control method. One greatly simplified explanation (which might not be completely accurate) is that the system cannot find a way to get to the ACPI tables that define the Plug and Play and Power Management capabilities of the system.
(0x00000004, Parameter2, Parameter3, Parameter4):This error occurs because the system received some data type other than the expected integer as a package element when defining a _PRW method in the ACPI namespace. _PRW is only defined for systems that have the ability to wake the system from Sleep mode. Among other things, _PRW defines the lowest power system state that the system can enter and be able to wake up.
(0x00000005, Parameter2, Parameter3, Parameter4):The _PRW referenced must contain at least two elements. When queried, the _PRW indicated that it was incomplete.
(0x00000006, Parameter2, Parameter3, Parameter4):A power resource is named, but there is no information available in the namespace for this resource.
(0x00000007, Parameter2, Parameter3, Parameter4):When the system referenced a method in the ACPI namespace, the system expected a data type of BUFFER but received some other data type.
(0x00000008, Parameter2, Parameter3, Parameter4):The system expected a data type of INTEGER but received some other data type.
(0x00000009, Parameter2, Parameter3, Parameter4):The system expected a data type of PACKAGE but received some other data type.
(0x0000000A, Parameter2, Parameter3, Parameter4):The system expected a data type of STRING but received some other data type.
(0x0000000B, Parameter2, Parameter3, Parameter4):An _EJD string referenced a nonexistent object. The _EJD object defines objects that are dependent on a specific ejection device. For example, if you have an add-in adapter in a docking station and you attempt to eject the laptop computer, ACPI references this namespace to determine whether the dependent adapter in the docking station supports the ejection. This error occurs because there is no object to define the name referenced in the _EJD string.
(0x0000000C, Parameter2, Parameter3, Parameter4):The namespace defines support for docking but lacks enough information to implement it. This can be because it is not properly defined or because there are duplicate services defined.
(0x0000000D, Parameter2, Parameter3, Parameter4):There are many objects that must be defined in the ACPI namespace, and one or more of these was not found. This error generally occurs if either the _HID or _ADR object is missing. An _ADR is used to define the address of a device on its parent bus. The _ADR is a static address that defines slot numbers for devices that reside on any number of bus types, including EISA, floppy, IDE controller, IDE channel, PCI, PCMCIA, and CardBus. The _HID contains objects that supply the operating system with Plug and Play hardware ID for a device. Technically, these objects are optional, but they absolutely must be present to describe any device that is enumerated by an ACPI driver.
(0x0000000E, Parameter2, Parameter3, Parameter4):This error occurs because the system could not find a required method or object in the namespace for a power resource. These are anything other than a "device." If the BIOS does not supply either an ON, OFF, or STA for a power resource, the system stops with this error.
(0x0000000F, Parameter2, Parameter3, Parameter4):This occurs when a Plug and Play resource descriptor is smaller than its defined size, indicating that the descriptor is either incomplete or corrupted. Resource descriptors describe the system resources that the computer is using, can use, or wants to use. Each descriptor entry has a predefined size, which must match the data returned.
(0x000000010, Parameter2, Parameter3, Parameter4):When a system transitions from one power state to another, the system compares the states that are supported system-wide to those supported by the individual devices in the system. This error occurs if Power Resource maps to a nonexistent system-wide resource. You can use a kernel debugger to view the specifics of this error, including the system power state that is causing the problem.
(0x000000011, Parameter2, Parameter3, Parameter4):The system cannot enter ACPI mode. There are many reasons for this, including:
- The system cannot initialize the AML interpreter.
- The system cannot find the Root System Description table.
- The system cannot allocate a critical driver.
- The system cannot load the Root System Description table.
- The system cannot load device descriptor blocks.
- The system cannot connect an interrupt vector.
- The SCI_EN (system control interrupt enable request) cannot be set (see 0x00000001).
- The ACPI Table checksum is incorrect.
ACPI is a hierarchical arrangement of tables, each one building upon the next to define the complete capabilities of the system and of every device in the system. ACPI starts by looking for the Root System Description table, which points to the next table, which points to the next table, and so on. Usually, the 0x000000011 error occurs because these tables are damaged or missing.
(0x000000012, Parameter2, Parameter3, Parameter4):ACPI is expecting a Power Resource Object that it cannot find. You can view the error through a kernel debugger to see what the exact object is.
(0x00002001, Parameter2, Parameter3, Parameter4):ACPI tried to evaluate the control method for a specific type of Programmable Interrupt Controller and did not succeed.
(0x00010001, Parameter2, Parameter3, Parameter4):ACPI tried to perform interrupt routing and did not succeed. This error is usually due to a damaged interrupt routing table.
(0x00010002, Parameter2, Parameter3, Parameter4):ACPI could not find a link node that is referenced in the interrupt routing table.
(0x00010003, Parameter2, Parameter3, Parameter4):A device is present in the system, but there is no entry for the device in the IRQ routing table.
(0x00010005, Parameter2, Parameter3, Parameter4):This error relates to the rules about how a PCI routing table is written. To prevent ambiguity, the device number must be specified in the table but the function number must not. To this end, the function field must be set to all F's. This error occurs when a function number is not all F's.
(0x00010006, Parameter2, Parameter3, Parameter4):ACPI must able to disabling a link node to reprogram it. This error occurs if ACPI cannot disable a link node.