PCI Steering

Only for programmers and BIOS gurus with technical questions.
Post Reply
Posts: 761
Joined: Wed Oct 30, 2002 5:17 am

This is only partially a BIOS question, but I have a book that describes how with Windows 95 (Before OSR2) the BIOS was responsible for the PCI Steering (assigning IRQs to devices) and that Windows just accepted the values from the BIOS, and that this method was occassionally subject to resource conflicts if the BIOS got it wrong.

And then Windows 95 OSR2 onwards and Windows 98 introduced it's own PCI IRQ steering and assigned IRQ holders, and that this gave Windows the ability to overcome resource conflicts generated by the BIOS by reassinging resources of affected devices.

However this book falls short of explaining that what Windows 2000 onwards does - only that it does not implement IRQ Steering. I am wondering if anyone knows here what Windows 2000 does. I don't believe it would simply accept the BIOS values and do nothing else as this would re-introduce the problem that early versions of Windows 95 had when BIOSs introduced resource conflicts to Windows, however I believe that Windows 2000+ must introduce an alternative to PCI Steering and am wondering if I am correct in believing this, what it actually does do and how it works.

Any responses appreciated.
New visitors - please read the rules.
Posts: 9
Joined: Sat Nov 29, 2003 12:16 am

I'm no expert on that, but afaik, the ACPI bios assigns all PCI devices to a single IRQ, and Windows' own ACPI HAL is responsible for internal IRQ steering. That's why all your PCI devices are listed under the same IRQ on Windows 2000, or are assigned to non-standard IRQs on Windows XP (like IRQ 23, for example). Of course, on a non-ACPI compliant Windows 2000/XP system, the old schema applies, Windows overrides and reassigns IRQs by itself. It's still possible to force BIOS IRQ assignments on these systems tho, by double clicking the "PCI Bus" device under "System devices" in the device manager and de-selecting "Enable IRQ steering".

(I now recall the old days of IRQ madness using a VA503+ and VIA 4in1 drivers and roll of my chair laughing... ROFL!)

Post Reply