Article ID: 180287
Article Last Modified on 2/23/2007
APPLIES TO
- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows 2000 Professional Edition
- Microsoft Windows NT Workstation 3.5
- Microsoft Windows NT Workstation 3.51
- Microsoft Windows NT Workstation 4.0 Developer Edition
- Microsoft Windows NT Server 3.5
- Microsoft Windows NT Server 3.51
- Microsoft Windows NT Server 4.0 Standard Edition
This article was previously published under Q180287
SYMPTOMS
If you use the Windows NT Diagnostics (Winmsd.exe) tool on a computer that adheres to Intel MultiProcessor Specification version 1.4, the interrupt request (IRQ) that is displayed for the Peripheral Component Interconnect (PCI) devices may be on high IRQ numbers above 15.
NOTE: The MultiProcessor Specification is used by computer manufacturers to design and build Intel-based computers that have multiple processors.
For example, the following information may be displayed in the IRQ and Port report (for Windows NT) when you run the Winmsd.exe tool on a computer that uses the MultiProcessor Specification hardware abstraction layer (HAL):
Devices | Vector | Level | Affinity |
---|---|---|---|
i8042prt | 1 | 1 | 0xffffffff |
i8042prt | 12 | 12 | 0xffffffff |
serial | 4 | 4 | 0x00000000 |
serial | 3 | 3 | 0x00000000 |
el59x | 32 | 32 | 0x80719ce0 |
floppy | 6 | 6 | 0x00000000 |
sndblst | 178 | 5 | 0x00000001 |
aic78xx | 40 | 40 | 0x00000000 |
NOTE: The IRQs for the el59x (32) and aic78xx (40) PCI devices display high IRQ numbers. You can obtain similar results if you use the System Information tool in Windows 2000 (click Hardware Resources, and then click IRQ information).
CAUSE
This behavior can occur because of the manner in which the MultiProcessor Specification HAL tracks the interrupts. MultiProcessor Specification computers use an Asynchronous Processor Interrupt Controller (APIC) to handle the interrupts. An APIC has more interrupts than the standard programmable interrupt controller (PIC). The interrupt information is actually derived from a table that is maintained by the basic input/output system (BIOS) in the computer. This information is used by the computer in several low-level HAL functions, such as, HalGetBusData and HalAssignSlotResources.
When the BIOS configures the interrupts for the devices, the BIOS may route interrupts to two places, a PIC location and an APIC location. The PCI configuration space offset "0x3C" of the adapters is written with the PIC vector as well as the MultiProcessor Specification interrupt entry points to the APIC location. When the MultiProcessor Specification HAL assigns an interrupt vector, it ignores the data at offset "0x3C" by using only the interrupt personal identification number (PIN) and the matching bus/dev interrupt entry in the MultiProcessor Specification table.
This process enables the interrupts to be available for a operating system that does not follow the MultiProcessor Specification (for example, MS-DOS, Microsoft Windows 98, and even Windows NT or Windows 2000 that do not have the MultiProcessor Specification HAL).
STATUS
This behavior is by design.
MORE INFORMATION
For additional information about IRQ resources, click the article number below to view the article in the Microsoft Knowledge Base:
252420 General Description of IRQ Sharing in Windows 2000
Additional query words: PCI bridge device
Keywords: kbprb kbsetup KB180287