Windows 95/98

Windows Support Menu


Windows 9X Devices

IRQ Steering

What is IRQ Steering?

IRQ Steering is a way for PCI motherboards to dynamically assign IRQs to PCI Devices. The assignment is done during the initial POST and can be achieved during normal operation of the computer. An example of how PCI Steering can dynamically assign IRQ resources can be observed when a PCI based laptop is hot docked into a docking station.

The PCI bus does not consume IRQs in the strictest sense. Instead they consume IRQ pins. Each PCI slot has four IRQ pins connected to it and they are known as INTA, INTB, INTC and INTD. The combinations of slot number and IRQ pin is known as a Link value (i.e. the INTA wire on PCI slot 1 would have a link value of 1, while INTB on PCI slot 1 would have a value of 2). The BIOS contains a table that consists of the Slot number and Pin number. This is the IRQ steering table.

Normally, these interrupt levels are transparent to the user, but can be accessed in the motherboard’s BIOS setup screen for PCI where they can be used to control individual PCI cards operational characteristics. When needed by device cards in the slots, these INT’s can be mapped to ISA bus interrupts IRQ 5, or IRQ 9 through IRQ 12 by the PCI/ISA Bridge.

The sharing benefit of PCI INTx# is minimized if the PCI bus is ‘owned’ by the bus device acting as a bus master. On the PCI bus, ‘ownership’ allows the bus master to be the only device executing bus cycles. Consequently, performance of other PCI bus devices can suffer during this condition. Video cards are notorious for doing this in order to improve their benchmarked performance. Also bear in mind that after mapping to the ISA IRQ architecture occurs, the older ISA rules of one device per IRQ applies. For example, if you had 4 PCI devices assigned to INTA#, then it’s possible to map this INTA# to one single ISA IRQ. If these four PCI devices were split over INTA# and INTB#, it’s recommended that the 2 INTx#’s be assigned to two separate ISA IRQ’s.

In Windows 98 you will see additional entries for your PCI devices under the Device Manager. Each device will have an additional entry entitled "IRQ Holder for PCI Steering". PCI steering is in fact a feature that is part of the Plug and Play portions of the PCI system. This "IRQ Holder for PCI Steering" severs as a ‘handle’ so a Plug and Play operating system can control this IRQ dynamically, manipulating and reassigning it to avoid resource problems in the event of the ‘hot’ hardware change. Seeing this ‘holder’ listed in addition to another device under the same IRQ list does not mean you have a resource conflict.

Displaying IRQ Steering in Windows 98

Windows 98 supports the reading of this table so that it will know which devices are using which IRQs and will be able to communicate with the BIOS for dynamic reassigning of the resources. How Windows 98 retrieves the information on the IRQ Steering table can be set in the PCI Bus Properties – IRQ Steering Tab.

This property sheet allows the customer to disable IRQ Steering entirely and will allow them to choose how Windows 98 should access this information. These settings should only be changed if the default settings do not allow proper operations.


Isolate the manner in which Windows 98 accessed the IRQ Steering table by selecting only one box at a time in System Properties – PCI BUS Properties – IRQ Steering tab as shown on the previous page.

Windows 98 can only access PCI Steering on supported chipsets. A list of the supported chipsets is kept in the HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VXD\PCI\IRQMiniports.


Below is a current listing of all the supported chipsets for Windows 98:

Ali 1523

Intel 82378

Ali 1533

NS 87560

Compaq CMC-2

Opti Fire Star

Compaq MISC-3

Opti Viper

Compaq OSB

Opti Viper Max

Cyrix 5520 Rev 0

SiS 5503

Cyrix 5520 Rev 1


Intel 82371AB/EB

Venuvius PT86C523

Intel 82371FB

Vesuvius PT86C523

Intel 82371MX

VLSI Eagle

Intel 82371SB


Intel 82372FB

VT 82C586B

Intel 82375EB/SB

How to disble PCI Steering in Windows 98

When PCI bus IRQ steering is enabled, Windows dynamically assigns or "steers" PCI bus IRQs to PCI devices. If there are IRQ conflicts between PCI devices, you may need to disable PCI bus IRQ steering to determine where the conflicts occur. To disable PCI bus 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.
  5. Click the Use IRQ Steering check box to clear it, click OK, and then click OK again.
  6. When you are prompted to restart your computer, click Yes.

NOTE: You may also have to disable PCI bus IRQ steering in your computer's basic input/output system (BIOS). For information about how to do so, contact you BIOS manufacturer.

The following settings determine which routing tables Windows uses when programming IRQ steering:

Get IRQ table using ACPI BIOS:

  • When this check box is selected, the ACPI BIOS IRQ routing table is the first table Windows tries to use to program IRQ steering. If a PCI device is not working properly, click this check box to clear it.

Get IRQ table using MS Specification table:

  • When this check box is selected, the MS Specification routing table is the second table Windows tries to use to program IRQ steering.

Get IRQ table from Protected Mode PCIBIOS 2.1 call:

  • When this check box is selected, the Protected Mode PCIBIOS 2.1 routing table is the third table Windows tries to use to program IRQ steering.

Get IRQ table from Real Mode PCIBIOS 2.1 call:

  • When this check box is selected, the Real Mode PCIBIOS 2.1 routing table is the fourth table Windows tries to use to program IRQ steering.

NOTE: By default, the "Get IRQ table from Protected Mode PCIBIOS 2.1 call" check box is not selected. You should only click this check box to place a check mark if a PCI device is not working properly.

IRQ Holder For PCI Steering may appear under IRQ Routing Status even though PCI bus IRQ steering is disabled. This can occur if the IRQ settings are being read by your computer's BIOS. For information about modifying the BIOS, contact your BIOS manufacturer.