How Windows Determines ACPI Compatibility
This article was previously published under Q216573
For a Microsoft Windows XP version of this article, see 314088.
This article applies to Windows 2000. Support for Windows 2000 ends on July 13, 2010. The Windows 2000 End-of-Support Solution Center is a starting point for planning your migration strategy from Windows 2000. For more information see the Microsoft Support Lifecycle Policy.
This article has been archived. It is offered "as is" and will no longer be updated.
This article describes the process used by Windows to enable and install Advanced Configuration and Power Interface (ACPI) functionality.
The Txtsetup.sif FileThe 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 BIOSAn 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:
A sample of the Root System Description table for this entry would be:
OEM ID = "COMPAQ"OEM Table ID = "FACPTBL"OEM Revision = "432"Creator Revision = "1"
OEM Table ID = "CPQB01B"
In addition to this information, the date of the BIOS is also read.
Determining the ACPI ConfigurationThe 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
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.
Article ID: 216573 - Last Review: 12/05/2015 12:48:08 - Revision: 3.4
Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Professional Edition, Microsoft Windows 2000 Datacenter Server
- kbnosurvey kbarchive kbenv kbhardware kbinfo KB216573