Microsoft KB Archive/913379

= BIOS manufacturers should not clear the IDE Decode Enable bit in the _STM ACPI method =

Article ID: 913379

Article Last Modified on 3/17/2007

-

APPLIES TO


 * Microsoft Windows Server 2003, Standard Edition (32-bit x86)
 * Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
 * Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
 * Microsoft Windows Server 2003, Web Edition
 * Microsoft Windows XP Professional
 * Microsoft Windows XP Home Edition
 * Microsoft Windows 2000 Advanced Server
 * Microsoft Windows 2000 Datacenter Server
 * Microsoft Windows 2000 Professional Edition
 * Microsoft Windows 2000 Server
 * Windows Vista Ultimate
 * Windows Vista Home Premium
 * Windows Vista Home Basic
 * Windows Vista Enterprise
 * Windows Vista Business 64-bit edition
 * Windows Vista Business
 * Windows Vista Ultimate 64-bit edition
 * Windows Vista Home Premium 64-bit edition
 * Windows Vista Home Basic 64-bit edition
 * Windows Vista Enterprise 64-bit edition

-



SYMPTOMS
An IDE channel and all attached devices are missing from the computer. If the boot drive is on the missing channel, you receive the following &quot;Stop error&quot; error message on a blue screen:

KERNEL_DATA_INPAGE_ERROR

The bugcheck is (0x0000007a (0xe15a48e8, 0xc000000e, 0xbf914cd9, 0x148a3860) in Win32k.sys where 0xC000000E

STATUS_NO_SUCH_DEVICE



CAUSE
During re-enumeration of a previously enumerated IDE controller, a race condition exists between Atapi.sys and Pciidex.sys or between Ataport.sys and Pciidex.sys. In this race condition, the following conditions are true:
 * Atapi.sys and Ataport.sys use the _STM method to select a transfer mode on a channel. The _STM method is in the Advanced Configuration and Power Interface (ACPI) BIOS.
 * Pciidex.sys verifies whether that channel exists by checking for the IDE Decode Enable bit.

If the BIOS implementation of the _STM method has cleared the IDE Decode Enable bit, Pciidex.sys determines that the channel does not exist. When this behavior occurs, Pciidex.sys does not enumerate the channel.



RESOLUTION
Because Atapi.sys and Ataport.sys never run the _STM method as long as there is I/O on the channel, the _STM method does not have to clear the IDE Decode Enable bit. Therefore, BIOS manufacturers should not clear the IDE Decode Enable bit in the _STM method.

Keywords: kbddk kbhardware kbinfo kbtshoot KB913379

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.