1. The article [Q310752] contains a brief overview of power management. Windows supports both Advanced Power Management (APM) and Advanced Configuration and Power Interface (ACPI) power management.
Note: Advanced Power Management is the legacy power management scheme based on an SMI/SMM (hidden hardware) BIOS approach that was first widely supported in Microsoft Windows. Most of the interesting functionality for APM is in a machine-specific BIOS that is hidden from the operating system and has been superseded by ACPI (Advanced Configuration and Power Interface) which is the robust scheme for power management and system configuration supported in the Windows 9x and above family of operating systems.
Warning: The article [Q331958] warns that the hard disk may become corrupted when entering either Standby or Hibernation mode since the flush cache command is not issued to a large hard disk that has 48-bit logical block addressing (LBA) enabled. A supported fix is now available from Microsoft but it is only intended to correct the problem that is described in this article. Apply it only to systems that are experiencing this specific problem.
2. The article [Q314088] describes the process used by Windows to enable and install Advanced Configuration and Power Interface (ACPI) functionality. An ACPI system consists of a series of 10 tables that define which devices are present on the system and what their capabilities are as to configuration and power management that are built by the system BIOS at startup. When the computer starts, the system BIOS looks for specific entries in two of these tables, 1) the Fixed ACPI Description table [FACP] and 2) 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. If APM was not enabled during the installation of Windows, either the computer's BIOS was on the disable APM list or it is not listed on the auto-enable APM list. Apmstat.exe (a tool included with the Windows Support Tools on the operating system CD) can be used to determine if either is the case. At the command prompt, type pmstat, and then press Enter.
b. If a reports is rendered that an APM BIOS is known to be incompatible or that an APM BIOS is known to have problems, do not attempt to force WinXP Setup to install the APM support. Doing so could cause the computer to behave erratically and even lose data. Also, if it is determined that an APM BIOS is incompatible, make sure the option for APM is disabled in the BIOS.
c. If it is reported that an APM BIOS is not known to be compatible or it is not known to be incompatible, APM might still be used but the user must enable and ensure the configuration of the APM options so that it works properly.
d. To verify that APM support is installed on a computer:
(1) In the Control Panel click Performance, Maintenance, System, Hardware tab, and then click Device Manager.
(2) On the View menu, click Show hidden devices.
(3) If NT Apm/Legacy Support is listed in the details pane, APM support is installed.
e. To enable APM:
(1) In Control Panel, click Performance Maintenance, Power Options, APM tab.
(2) Under Advanced Power Management, select the Enable Advanced Power Management support check box.
Note: The APM tab is present only if an APM BIOS is detected which is either APM 1.2-compliant or that which might work with APM even if it is not APM 1.2-compliant. It is not recommended that APM support be enabled on a computer that has a BIOS that is not APM-compliant. If problems occur after enabling APM support, disable APM and contact the computer manufacturer for an updated BIOS. In addition, the APM tab is not present if a computer has multiple processors because WinXP does not install APM support on multiprocessor computers.
3. In order to utilize APM power management, configure the APM-based BIOS so that power management works properly. This might involve configuring the APM BIOS in the following way:
a. Set BIOS time-outs to the maximum time or disable them. This allows the operating system (instead of the BIOS) to control time-outs since some APM BIOSs turn off or refuse to function if all time-outs are disabled. Perhaps the time-outs should be set to the maximum allowed time instead of disabled.
b. Turn off screen blanking in the BIOS. Typically to turn off screen blanking in the BIOS, disable the time-out for the display or set the time-out to the maximum value. Screen blanking reduces power to the display which causes the computer to appear to be shut down.
Note: Activating a pointing device typically wakes the system and restores power to the display. However, USB and other external pointing devices may not.
4. The article "Description of the Different Advanced Power Management States (Q308535)" provides detailed information concerning the different individual power states which apply both to individual computer components and to the computer as a whole, and the meaning and purpose of each state.
5. In order to use the ACPI Power Management features in Windows XP, a computer must have a compatible ACPI-compliant BIOS and if it does, an ACPI Hardware Abstraction Layer (HAL) is installed which allows the use of ACPI power management features. If the computer does not have an ACPI-compliant BIOS, a non-ACPI HAL is installed and ACPI power management features are not available. In order to determine which HAL to install, Windows XP performs the following process during setup:
Note: The HAL directs information from the operating system and device drivers to specific devices.
a. Windows checks the ACPI BIOS tables during startup and if a device is found in the table list, its power management capabilities are installed. If this information is missing or if the information is in the wrong form, a non-ACPI HAL is installed.
b. If the tables are correct, Setup determines whether the computer's BIOS is known to be incompatible with the ACPI standard. What generally happens is:
? If the BIOS is on the incompatible list, a non-ACPI HAL is installed.
? If the BIOS is not on the incompatible BIOS list, Setup checks the BIOS date.
? If the BIOS is not on the incompatible BIOS list and the BIOS date is later than 1/1/99, an ACPI HAL is installed.
? If the BIOS is not on the incompatible BIOS list and the BIOS date is earlier than 1/1/99, Setup determines if the BIOS is known to be compatible with Windows.
? If the BIOS is compatible, an ACPI HAL is installed.
? If the BIOS is not compatible, an earlier HAL is installed.
c. To determine whether Windows is running in ACPI mode:
(1) In the Control Panel, click Performance and Maintenance, System and in the System Properties (click to see an example screenshot) dialog box, click the Hardware tab.
(2) Click Device Manager and in the details pane, click Computer (Click to see an example screenshot). If Advanced Configuration and Power Interface (ACPI) PC is listed, ACPI is alive and well.
(3) To determine whether the computer supports hibernate and standby features:
a. Click Start, Run, type powercfg.cpl, and then press Enter, or click Start, Control Panel, Performance and Maintenance, Power Options.
Note: If the Standby and Hibernate options are not present, the computer does not support these features.
b. In the Power Options Properties dialog box, verify that a Hibernate tab exists. If present, select the Hibernate tab, check the Enable hibernation box, and click Apply.
c. In the Power Options Properties dialog box, verify that an Advanced tab exists. If present, verify that Standby and Hibernate are selectable options in the Power buttons drop down lists.
6. To generally determine the type of HAL used (Start, Control Panel, System and on the Hardware tab, click Device Manager) view the listing under Computer for the system description and the associated HAL. For example:
ACPI Multiprocessor PC = Halmacpi.dll
ACPI Uniprocessor PC = Halacpi.dll
Advanced Configuration and Power Interface (ACPI) PC = Halacpi.dll
MPS Multiprocessor PC = Halmps.dll
MPS Uniprocessor PC = Halapic.dll
Standard PC = Hal.dll
Compaq SystemPro Multiprocessor or 100% Compatible = Halsp.dll
Note: If a system has an ACPI BIOS but Windows is not installed in ACPI mode, the ACPI BIOS might be noncompliant. Check with the computer manufacturer to see if a more recent ACPI-compatible BIOS is available for installation. If Windows is installed in non-ACPI mode and an upgrade is available and subsequently installed, Windows must be reinstalled to enable its functions. Does using the "Windows Network Monitor" (click Start, Run, type winmsc, and then press Enter) give further useful information concerning the BIOS?
7. OnNow capabilities are only possible when the operating system controls power management across the entire PC system because it is the only one that can know system parameters and states that applications and BIOS cannot know, such as:
Thermal zone conditions
Stop Clock throttling
Processor power performance capabilities and states
The sudden appearance of new devices that cause power demands or that indicate a user?s intention to begin certain tasks
System states that need to be saved before the PC can safely go to sleep
a. To the user, the computer is either on or off, and other conditions are not visible. However, the ACPI specification defines a number of different power states that are supported by Windows operating systems. Each device in the system must implement power management in its driver and as required for the bus that it uses to attach to the system. Each bus and each device class has a specification for how power management is to be enabled, and that defines the degree to which the device can participate in system-wide power management.
b. All driver sample and driver models for WinXP implement power management support, without the driver developer having to apply special concern for the details of power control, and the Windows driver support provides an interface for drivers to perform power management functions, such as:
Get a device?s power-related capabilities
Query, set, or get a device?s power state
Enable a device to wake the system
Get battery status
8. BIOS Setup - for PCs designed to run WinXP:
a. The default BIOS settings should be:
Video Re-POST disabled
HD Reset disabled
b. Optimize your BIOS code for S3 Resume:
Do not include code that overlaps Windows
The S3 path in the BIOS should not look like an APM resume path
c. Implement the Simple Boot Specification.
d. Chip Support. Take advantage of CPU and chipset power management features:
Get register-specific information from your vendors
Ensure proper register programming
Ensure correct ACPI reporting
Probe boards to ensure they are working
e. Design for Fast Resume. The recommended performance guidelines for a consumer PC running WinXP are:
Boot to a useable state in a total of 30 seconds
Resume from Hibernate (S4) in a total of 20 seconds
Resume from Standby (S3) in a total of 5 seconds
9. Issues are explained in the article "Unable to Use Power Management Features (Q302414)" when using one or more device drivers that do not implement power management functionality correctly because they are not Plug and Play or power management enabled. This article does not elaborate other than for a user to ascertain what interferes and to either update it or quit used programs before implementing the power management feature.
a. The article [Q308549] explains that the System Information tool (Msinfo32.exe) gathers information about your computer, devices installed or device drivers that are loaded, and provides a menu for displaying the associated system topics. It also provides access to tools you can use for troubleshooting your computer.
b. The article [Q307970] is a step-by-step article that describes how you can configure devices by using Device Manager.
c. "DevCon" is a Command Line utility that can be downloaded and acts as an alternative to Device Manager. It allows a user to enable, disable, restart, update, remove, and query individual devices or groups of devices and provides information relevant to the developer.
10. Supplemental Reading:
a. Two articles:
? "Langa Letter: Solving Automatic Maintenance Problems Nov. 17, 2003."
? "Langa Letter: Make Windows XP Self-Maintaining Oct. 27, 2003 ."
b. "HOW TO: Specify a Specific or Third-Party HAL During Windows Setup (Q216251)" -- covered in a Win2000 article
c. "Troubleshooting Text-Mode Setup Problems on ACPI Computers (Q224826)."
d. "Some Power Management Settings Do Not Migrate During Upgrade to Windows XP (Q282788)."
e. "ACPI BIOS Is Attempting to Write to Illegal IO Port Address (0x80, 0x400, 0xcf8, 0xcfc) (Q283649)."
f. "It Is Now Safe to Turn the Machine Off" Message When You Try to Hibernate Your Computer (Q298884)."
g. "The Computer Cannot Enter Standby or Hibernate If a Direct3D-Based Screen Saver Is Running (Q306676)."
h. "Windows XP and Advanced Power Management (APM) Support (Q307525)."
i. "Computer Does Not Enter Standby Mode If Power Options Profile Is Set to Standby After 45 or More Minutes (Q310601)."
j. "Your Computer May Not Shut Down After You Upgrade to Windows XP (Q313290)."
k. "A General Description of IRQ Sharing in Windows XP (Q314068)."
l. "Unable to Change Resource Settings in Windows XP Device Manager (Q315278)."
m. "How to perform an in-place upgrade (reinstallation) of Windows XP (Q315341)."
n. "Returning from Hibernation Sets the Inactivity Timer to Five Minutes (Q318355)."
o. "Hibernation Problem on Computers with 1 GB of RAM (Q330909)."
p."It is Now Safe to Turn Off Your Computer" error message when you try to shut down your computer (Q810903)."
Note: After a computer returns (or "wakes up") from hibernation, it may enter hibernation again after five minutes of inactivity regardless of the settings configured in the Power Options tool in Control Panel.
11. Note what the article [Q306458] states:
"Advanced Micro Devices (AMD) offers PowerNow! technology on AMD mobile Athlon 4 and mobile Duron processors and Windows XP the additional driver (the Amdk7.sys driver) to enable the AMD PowerNow! functionality.".