What is PCI Bus IRQ Steering and how does it work

written by: Tom Dickens; article published: year 2006, month 11;


In: Root » Computers and technology » Memory Processor Motherboards and buses » What is PCI Bus IRQ Steering and how does it work

Dutch French Spanish Portuguese Italian German Japanese Chinese Korean Russian Arabic Bookmark and Share this Article

PCI Bus IRQ Steering is a function built into Windows 95 OSR2 or higher and Windows 98 (but not NT4 or Windows 2000/XP). IRQ Steering allows Windows itself to assign IRQs to PCI devices. With earlier versions of Windows 95, the BIOS assigns IRQs to PCI devices, and Windows must accept the decisions made by the BIOS IRQ Steering. If Windows IRQ Steering is enabled, Windows can override those BIOS decisions, although it seldom does so. OSR2 disables IRQ Steering by default; Windows 98 enables it by default.

Windows IRQ Steering allows Windows to reassign PCI interrupts automatically to accommodate the inflexible requirements of ISA devices. For example, assume that a PC with a BIOS that does not recognize non-Plug and Play ISA cards (that is, IRQ Steering is not implemented in BIOS) is running Windows 98 with IRQ Steering disabled. The PC is properly configured with all PCI devices, and the BIOS has assigned IRQ 11 to a Creative SoundBlaster AudioPCI 128 sound card. You then open the case and install a 3Com 3C509 network adapter (a non-Plug and Play ISA card), which is also configured for IRQ 11. When you restart the system, a conflict exists between the sound card on IRQ 11 and the network card, also on IRQ 11. If you enable Windows 98 IRQ Steering and restart the system, IRQ Steering takes the following actions during boot:

  1. Detects that IRQ 11 is in use by both the PCI sound card and the ISA network card.

  2. Disables the PCI sound card.

  3. Maps a free IRQ—one that is not being used by an ISA device—to a PCI interrupt and assigns an IRQ holder to it. If IRQ 10 is available, for example, PCI Steering may assign it to a PCI interrupt.

  4. Reprograms the sound card to use IRQ 10.

  5. Resets the IRQ mapping table to specify that IRQ 11 is now assigned to ISA and removes the PCI IRQ holder for IRQ 11.

When the system restarts, the sound card is now assigned to IRQ 10, the network card is still IRQ 11, and both devices work. Note that IRQ Steering does nothing that you cannot do for yourself. It simply automates the process of resolving IRQ conflicts when ISA devices are present in a PCI system.

To view the IRQ assignments made by IRQ Steering, right-click the My Computer icon, choose Properties, click the Device Manager tab, and double-click the Computer icon at the top of the tree to display the View Resources page of the Computer Properties dialog. IRQs which IRQ Steering has assigned to PCI are flagged with an entry labeled IRQ Holder for PCI Steering. This flag does not indicate that another device is assigned to the IRQ, but simply that IRQ Steering has reserved that IRQ for PCI, making it unavailable to ISA devices even if no PCI devices are currently using that IRQ..

To view or change settings for IRQ Bus Steering itself, right-click the My Computer icon, choose Properties, and click the Device Manager tab. Double- click System Devices to expand the tree, and then double-click PCI Bus to display the PCI bus Properties dialog. Click the IRQ Steering tab to display the IRQ Steering page of the PCI bus Properties dialog.

The IRQ Routing Status pane at the bottom of the dialog displays the current status of IRQ Steering. Windows 98 enables IRQ Steering using the defaults shown. Leaving this checkbox marked means that Windows 98 manages IRQ Steering. To disable Windows 98 IRQ Steering and allow the BIOS to manage IRQ Steering, clear the Use IRQ Steering checkbox and restart the PC. If you do that, the Windows Find New Hardware Wizard runs after the restart, locates the "new" devices, and installs drivers for them.

The Get IRQ table ... checkboxes are a ranked priority list of the methods Windows can use to obtain the data it needs to manage IRQ Steering. Clearing one of these checkboxes causes Windows not to attempt that method. Windows first attempts to obtain this data using the ACPI BIOS. That fails, so it next attempts to get the data using the MS Specification table, which also fails. The Protected Mode PCIBIOS 2.1 method is not checked, so Windows does not attempt to use that method. Finally, Windows attempts to get the data using a Real Mode PCIBIOS 2.1 call, which succeeds.

In general, leave IRQ Steering enabled. If problems occur with a PCI device being recognized or configured properly, take the following steps in order until the problem is resolved:

  1. Clear the Get IRQ table using ACPI BIOS checkbox and restart the system.

  2. Clear the Get IRQ table using MS Specification table checkbox and restart the system.

  3. Clear the Get IRQ table using Real Mode PCIBIOS 2.1 call checkbox, mark the Get IRQ table using Protected Mode PCIBIOS 2.1 call and restart the system.

  4. Clear the Use IRQ Steering checkbox and restart the system to allow the BIOS to manage IRQ steering.

If IRQ Steering cannot be enabled, the system BIOS may not support IRQ Steering (which is to say it will not allow Windows 98 IRQ Steering to change assignments), or the BIOS IRQ routing table may be missing or corrupt. In either case, contact the system or motherboard maker for an updated BIOS or additional assistance.

Disclaimer

1) E-articles is not responsible for the information contained by this article as well for any and all copyright infringements by authors and writers. E-articles is a free information resource. If you suspect this article for any copyright infringement, please read the terms of service and contact us to investigate the problem.
2) E-articles is not responsible for inaccuracies, falsehoods, or any other types of misinformation this article may contain and will not be liable for any loss or damage suffered by a user through the user's reliance on the information gained here.

link to this article