Windows Support Menu
Windows 9X Devices
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:
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:
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:
Get IRQ table using MS Specification table:
Get IRQ table from Protected Mode PCIBIOS 2.1 call:
Get IRQ table from Real Mode PCIBIOS 2.1 call:
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.