Description of PCI Bus IRQ Steering

ID: Q182604


The information in this article applies to:
  • Microsoft Windows 95 OEM Service Release versions 2, 2.1
  • Microsoft Windows 98


SUMMARY

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


MORE INFORMATION

Windows 95 OEM Service Release 2 (OSR2) and Windows 98 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, 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 has the ability to 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 only rebalance Plug and Play ISA IRQs to resolve resource conflicts.

How OSR2 and Windows 98 Use PCI Bus IRQ Steering

PCI bus IRQ steering gives OSR2 and Windows 98 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 of 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, follow these steps:
  1. Click Start, point to Settings, click Control Panel, and then double-click System.


  2. Click the Device Manager tab.


  3. Double-click the System Devices branch.


  4. Double-click the IRQ Holder for PCI Steering 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, follow these steps:
  1. Click Start, point to Settings, click Control Panel, and then double-click System.


  2. Click the Device Manager tab.


  3. Double-click the System Devices branch.


  4. Double-click PCI Bus, and then click the IRQ Steering tab. You should see one of the following settings:


    • IRQ Steering Enabled


    • IRQ Steering Disabled


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:
  • 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 on how the motherboard is configured for PCI IRQ's.


  • The Use IRQ Steering check box is not selected.


  • The "Get IRQ table from Protected Mode PCIBIOS 2.1 call" check box is not selected.


  • Your computers BIOS may not support PCI bus IRQ steering. For more information, contact the manufacturer of your BIOS.


Additional query words: 95

Keywords : osr2
Version :
Platform :
Issue type : kbinfo


Last Reviewed: February 2, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.