Important: This information applies only to legacy PCs running the Microsoft Windows 95 OSR 2 operating system. ACPI-based systems must follow the implementation defined in the ACPI specification. For information, see the OnNow home page.
PCI IRQ routing has been supported under the Microsoft Windows 95 operating system since the release of OEM Service Release 2 (OSR 2). It is also supported under the Windows 98 operating system. With this support, the BIOS should not configure any non-boot PCI or ISA device. All PCI devices do not need to receive individual interrupt requests (IRQs) if the operating system can provide IRQ routing on the particular PC, which is determined for each chip set supported by Windows 95. This is based on whether a valid IRQ table is available either from Advanced Configuration and Power Interface (ACPI) table or the $PIR table, or from the real-mode or protected-mode BIOS.
Complete information about how to implement this support for Windows 95 OSR 2 is available in the PCI IRQ Routing Table Specification. This method should be used until systems include an ACPI-compliant BIOS.
To get IRQ routing to work with the PIIX4 chip set, a miniport driver must be implemented. (PIIX4 is compatible with PIIX 2 and uses the same miniport.) Therefore, the OEM must implement one of the following solutions:
1. | Implement a $PIR table with the PIIX2. To do this, change the BIOS, adding the PIIX2 (8086-122E) as the compatible PCI Interrupt Router in the $PIR table. This will load the PIIX2 IRQ miniport on a PIIX4 system. Notice that this will not work with real-mode and protected-mode BIOS routing tables. |
2. | Implement the INF file line in Machine.inf that tells Windows 95 which miniport to load if the machine supports only BIOS calls to get the IRQ routing table. To do this, use the same routing table for PIIX4 as for PIIX2, and add the following entry in the Machine.inf for PIIX4 so that the operating system loads the PIIX2 miniport for PIIX4 systems. Search Machine.inf for the following: |
;IRQ Miniport Data ; HKLM,System\CurrentControlSet\Services\VxD\PCI\IRQMiniports\122E8086,Name,,"Intel 82371FB" HKLM,System\CurrentControlSet\Services\VxD\PCI\IRQMiniports\122E8086,Path,,"PCIMP.PCI" HKLM,System\CurrentControlSet\Services\VxD\PCI\IRQMiniports\122E8086,Instance,1,01,00,00,00
HKLM,System\CurrentControlSet\Services\VxD\PCI\IRQMiniports\71108086,Name,,"Intel 82371FB" HKLM,System\CurrentControlSet\Services\VxD\PCI\IRQMiniports\71108086,Path,,"PCIMP.PCI" HKLM,System\CurrentControlSet\Services\VxD\PCI\IRQMiniports\71108086,Instance,1,01,00,00,00