The information in this article applies to:
SYMPTOMSOn your Intel-based (x86-processor-based) computer running Windows NT, after you add another PCI device, the system stops responding (hangs) or the PCI device may fail to operate. CAUSE
The Windows NT Hardware Abstraction Layer (HAL) HAL assigned an I/O port
address or memory resource for the new PCI device that overlaps with an
existing PCI device therefore causing a PCI resource conflict on your
system.
WORKAROUNDTo resolve this problem, upgrade to Windows NT 4.0 and follow the instructions under Windows NT 4.0 Upgrade Information below. To work around this problem use one of the workarounds below. Windows NT 4.0 Upgrade InformationUnder Windows NT 4.0, an option has been added to the BOOT.INI file that the x86-based HALs can recognize. Note that only those HALs shipped by Microsoft will recognize this switch. When a HAL recognizes the /PCILOCK switch (option), the HAL does not allow the operating system to change the PCI device resources as long as the system BIOS settings appear to be correct and complete.If the adding of a PCI adapter causes a hang during boot, remove the offending PCI adapter card. Reboot the system and modify the BOOT.INI file by adding the /PCILOCK option. Shut down the system, add the new adapter card, and reboot the system. The Windows NT 4.0 HALs that currently have this fix in are: HAL.DLL, HALMPS.DLL, and HALAPIC.DLL. WorkaroundsTo work around this problem, do one of the following:
STATUS
Microsoft has confirmed this to be a problem in Windows NT versions 3.5 and
3.51. Microsoft has corrected this problem in Windows NT 4.0 and in the
latest Windows NT 3.51 U.S. Service Pack. For information on obtaining the
Service Pack, query on the following word in the Microsoft Knowledge Base
(without the spaces):
S E R V P A C K MORE INFORMATIONWhen you write device drivers for Windows NT, remember that the call to HalAssignSlotResources is the API that moves the PCI resources. Some drivers use IoReportResourceUsage, as a HalAssignSlotResources alternative, with the current resource settings obtained from the configuration space of the PCI device. The calls to HalGetBusData and HalGetBusDataByOffset can be used to read the PCI device configuration space. This method should only be used as a last resort as it contradicts the purpose of having a dynamically configurable bus. Additional query words: prodnt
Keywords : kbhw ntdriver nthw NTSrvWkst |
Last Reviewed: February 11, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |