Microsoft KB Archive/182604

= Description of PCI Bus IRQ Steering =

Article ID: 182604

Article Last Modified on 1/22/2007

-

APPLIES TO


 * Microsoft Windows Millennium Edition
 * Microsoft Windows 98 Second Edition
 * Microsoft Windows 98 Standard Edition
 * Microsoft Windows 95
 * Microsoft Windows 95

-



This article was previously published under Q182604



If this article does not describe your hardware-related issue, please see the following Microsoft Web site to view more articles about hardware:

http://support.microsoft.com/default.aspx/w98?sid=460



SUMMARY
This article describes Peripheral Component Interconnect (PCI) bus interrupt request (IRQ) steering.



MORE INFORMATION
Windows 95 OEM Service Release 2 (OSR2), Windows 98, Windows 98 Second Edition, and Windows Millennium Edition (Me) provide support for PCI bus IRQ steering. By using PCI bus IRQ steering, Windows can dynamically assign or "steer" PCI bus IRQs to PCI devices. Note that Microsoft Windows 95 (retail release) and Microsoft Windows 95 OEM Service Release 1 (OSR1) do not provide support for PCI bus IRQ steering.

ISA and PCI IRQs
Multiple Industry Standard Architecture (ISA) devices cannot share an ISA IRQ; however, multiple PCI devices can share a PCI IRQ. On computers that use a PCI bus, the 16-standard IRQs can be programmed to either PCI or ISA mode. An IRQ cannot be programmed for both modes at once.

How IRQs Are Assigned to PCI Devices
In Windows 95 (retail release) and OSR1, the basic input/output system (BIOS) assigns IRQs to PCI devices. With OSR2 and Windows 98, Windows 98 Second Edition, and Windows Me, if PCI bus IRQ steering is disabled in Windows the BIOS assigns IRQs to PCI devices, but if PCI bus IRQ steering is enabled, Windows assigns IRQs to PCI devices. When IRQ steering is enabled the BIOS still assigns IRQs to PCI devices and, even though Windows can change these settings, it generally does not.

CardBus Cards and OSR2
PCI R3 Personal Computer Memory Card International Association (PCMCIA) cards (CardBus cards), look very similar to the more common ISA R2 PCMCIA cards. CardBus cards use 32-bit addressing and require a PCI-type shareable IRQ. R2 PCMCIA cards use 16-bit addressing with an ISA-type non- shareable IRQ. PCI bus IRQ steering gives the operating system the flexibility to reprogram PCI IRQs when it rebalances Plug and Play resources. Without PCI bus IRQ steering, Windows can rebalance only Plug and Play ISA IRQs to resolve resource conflicts.

How OSR2 and Windows 98, Windows 98 Second Edition, and Windows Me Use PCI Bus IRQ Steering
PCI bus IRQ steering gives Windows 98, Windows 98 Second Edition, and Windows Me the flexibility to reprogram PCI interrupts when rebalancing Plug and Play PCI and ISA resources around non-Plug and Play ISA devices. Windows 95 (retail release) and OSR1 cannot rebalance PCI and ISA IRQs for Plug and Play devices around non-Plug and Play ISA devices to solve resource conflicts.

For example, if your computer's BIOS is unaware of non-Plug and Play ISA cards, the operating system does not have PCI bus IRQ steering, and the BIOS has set a PCI device to IRQ 10, you may have a resource conflict when you add a non-Plug and Play ISA device that is configured for IRQ 10.

However, with PCI bus IRQ steering the operating system can resolve this IRQ resource conflict. To do so, the operating system:
 * Disables the PCI device.
 * Reprograms a free IRQ to a PCI IRQ, for example IRQ 11.
 * Assigns an IRQ holder to IRQ 11.
 * Moves the PCI device to IRQ 11.
 * Reprograms IRQ 10 to be an ISA IRQ.
 * Removes the IRQ holder for IRQ 10.

IRQ Holder
An IRQ Holder for PCI Steering may be displayed when you view the System Devices branch in Device Manager. An IRQ Holder for PCI Steering indicates that an IRQ has been programmed to PCI mode and is unavailable for ISA devices, even if no PCI devices are currently using the IRQ. To view IRQs that are programmed for PCI-mode:
 * 1) Click Start, point to Settings, click Control Panel, and then double-click System.
 * 2) Click the Device Manager tab.
 * 3) Double-click to expand the System Devices branch.
 * 4) Double-click the IRQ Holder for PCI Steering that you want to view, and then click the Resources tab.

How to Determine If Your Computer Is Using IRQ Steering
To determine if your computer is using IRQ Steering:
 * 1) Click Start, point to Settings, click Control Panel, and then double-click System.
 * 2) Click the Device Manager tab.
 * 3) Double-click to expand the System Devices branch.
 * 4) Double-click PCI Bus, and then click the IRQ Steering tab. You should see either the IRQ Steering Enabled or IRQ Steering Disabled settings.

NOTE: PCI bus IRQ steering is disabled by default in OSR2. If you are using OSR2 and IRQ steering is disabled, verify that the Use IRQ Steering check box is selected on the IRQ Steering tab.

IRQ Steering may be displayed as disabled in Device Manager for any of the following reasons:
 * If the IRQ routing table that must be provided by the BIOS to the operating system may be missing or contain errors. The IRQ routing table provides information about how the motherboard is configured for PCI IRQs.
 * If the Use IRQ Steering check box is not selected.
 * If the Get IRQ table from Protected Mode PCIBIOS 2.1 call check box is not selected.
 * If your computer's BIOS does not support PCI bus IRQ steering. For more information, contact the manufacturer of your BIOS.

Additional query words: HWSYSPCI 95

Keywords: kbinfo KB182604

-

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

© Microsoft Corporation. All rights reserved.