How Windows XP Determines ACPI Compatibility

For a Microsoft Windows 2000 version of this article, see 216573 .


This article describes the process used by Windows to enable and install Advanced Configuration and Power Interface (ACPI) functionality.

More Information

The Txtsetup.sif File

The Txtsetup.sif file contains information that is used for device detection and installation during text-mode Setup. If this file does not have an entry for a device, that device is not installed during the text-mode Setup portion of a Windows installation.

These sections of the Txtsetup.sif file provide for ACPI detection and installation:
  • [ACPIOptions]
  • [GoodACPIBios]

ACPI Configuration in the BIOS

An ACPI system consists of a series of 10 tables. These 10 tables define which devices are present on the system and what their capabilities are as to configuration and power management.

These tables are built by the system BIOS at startup. When the computer starts, the system BIOS looks for specific entries in two of these tables, the Fixed ACPI Description table [FACP] and the Root System Description table [RSDT], to determine whether the system is ACPI-compliant. Information is extracted from these tables in the form of an OEM ID, OEM TABLE ID, OEM REVISION, and CREATOR REVISION. If these tables are not present, or if the information in those four descriptors is invalid, the system is assumed not to be ACPI-compliant and the legacy hardware abstraction layer (HAL) is installed.

A sample of the Fixed ACPI Description table might be:
OEM Revision = "432"
Creator Revision = "1"
An example of the Root System Description table for this entry would be:
OEM Table ID = "CPQB01B"

The date of the BIOS is also read.

ACPI Configuration Settings

The information in these tables is compared with the entries in the Txtsetup.sif file. The following assumptions are made and actions are performed based on this comparison:

  • If the system BIOS is on the "bad BIOS" list, the ACPI HAL is not installed.
  • If the BIOS is not on the "bad BIOS" list, and the date of the BIOS is later than January 1, 1999, the BIOS is assumed to be a good BIOS and the ACPI HAL is installed.
  • If the date is earlier than January 1, 1999, the table information is checked against the "good BIOS" list. If the BIOS is present, the ACPI HAL is installed.
A BIOS appears on the "bad BIOS" list if that BIOS is known to cause system instability when the ACPI HAL is used. This instability can range in severity from poor hardware performance to system lack of response and data loss. For this reason, it is never a good idea to override the assumptions made by this list.

This principle also applies to systems that are not detected as ACPI-compliant. If the table header information is inaccurate, you can assume that the device configuration information that is contained in these tables is equally questionable. If you encounter any of the instabilities that are associated with overriding the default ACPI settings, Microsoft cannot assist you in any way short of a complete reinstallation of the operating system. An upgrade installation cannot fix the damage that is done by a bad or incomplete ACPI BIOS. However, if you must override these settings, use the following information.

Two entries, ACPIBiosDate and ACPIEnable, appear in the [ACPIOptions] section.

The ACPIBiosDate entry supplies the date after which a BIOS is considered to be good. The default setting for this entry is January 1, 1999. The ACPIBiosDate entry is of little use in forcing an ACPI installation.

Three possible values for the ACPIEnable entry determine the ACPI detection and installation behavior:
  • 0: ACPI is disabled at installation, regardless of the system BIOS.
  • 1: ACPI is enabled at installation if an ACPI BIOS is present
  • 2: ACPI is enabled on the basis of the GoodACPIBios list and the ACPIBiosDate.
The default setting is 2.

To override the default and force an ACPI installation, edit the Txtsetup.sif file, which is located on the Windows XP installation CD-ROM, to change the ACPIEnable value to 1. Save the file, and then restart the installation.

Note that ACPI functionality is relatively new, and functions are constantly being added by BIOS and system component manufacturers. If functionality that you expect to find is missing, or if you are experiencing unusual behavior with a BIOS that is dated later than January 1, 1999, or that is on the "good BIOS" list, verify with the manufacturer of your system that the most current BIOS revision is installed.

ACPI does require the presence of some new hardware (an SMBus or I2c-compatible bus and other items) to make the system ACPI-capable. If you have any question about why your system does not yet have an update to provide this functionality, contact the manufacturer of the specific system or motherboard.

Αναγνωριστικό άρθρου: 314088 - Τελευταία αναθεώρηση: 23 Οκτ 2008 - Αναθεώρηση: 1