This article describes the process used by Windows to enable and install Advanced Configuration and Power Interface (ACPI) functionality.
The Txtsetup.sif File
The Txtsetup.sif file contains information used for device detection and installation during text-mode Setup. If an entry is not found for a device in this file, the device is not installed during the text-mode Setup portion of a Windows installation.
There are three sections in the Txtsetup.sif file to provide for ACPI detection and installation:
ACPI Configuration in the BIOS
An ACPI system consists of a series of ten tables. These ten tables define which devices are present on the system and what their capabilities are as they relate to configuration and power management. These tables are built by the system BIOS at boot. When the system boots, it looks for specific entries contained in two of these tables (the Fixed ACPI Description table [FACP] and the Root System Description table [RSDT]) to determine if the system is ACPI compliant. This 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 the information contained in the descriptors above is invalid, the system is assumed to be non-ACPI and the legacy hardware abstraction layer (HAL) is installed.
A sample of the Fixed ACPI Description table might be:
OEM ID = "COMPAQ"
OEM Table ID = "FACPTBL"
OEM Revision = "432"
Creator Revision = "1"
A sample of the Root System Description table for this entry would be:
In addition to this information, the date of the BIOS is also read.
Determining the ACPI Configuration
The information found in these tables is compared to the entries found in the Txtsetup.sif file. The following assumptions are made and actions performed based on this information:
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 1/1/99, it is assumed to be a good BIOS and the ACPI HAL is applied. If the date is earlier than 1/1/99, 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 because it is known to cause system instability if the ACPI HAL is used. This instability can range in severity from hardware not acting correctly to system hangs and data loss. For this reason, it is never a good idea to override the assumptions made by this list. This also applies to systems that are not detected as ACPI compliant. If the table header information is inaccurate, it can be assumed that the device configuration information contained in these tables is equally questionable. Should you encounter any of the instabilities associated with overriding the default ACPI settings, Microsoft cannot assist you in any manner short of a complete reinstallation of the operating system. An upgrade installation cannot fix the damage done by a bad or incomplete ACPI BIOS. Nonetheless, should you need to override these settings, you can do so using the following information:
Two entries named ACPIEnable and ACPIBiosDate appear in the [ACPIOptions] section. The ACPIBiosDate entry supplies the date after which a BIOS is considered good. The default setting for this entry is 1/1/1999. The ACPIBiosDate entry is of little use in forcing an ACPI installation.
The 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 based on the GoodACPIBios list and ACPIBiosDate
The default setting is 2.
To override the default and force an ACPI installation, edit the Txtsetup.sif file located on Setup disk 1 and change the ACPIEnable value to 1. Save the file and then restart the installation.NOTE
: ACPI functionality is relatively new and functions are constantly being added by BIOS and system manufacturers. If functionality is missing that you believe should exist, or you are experiencing unusual behavior with a BIOS dated later than 1/1/1999 (or a BIOS listed on the good BIOS list), verify with the manufacturer of your system that you have the most current BIOS revision installed.
ACPI does require the presence of some new hardware (such as an SMBus or I2c -compatible bus and other items), the absence of which can prevent the system from being ACPI capable. If you have any question about why your system does not yet have an update to provide this functionality, consult with the manufacturer of your specific system or motherboard.