Microsoft KB Archive/180287

From BetaArchive Wiki
Knowledge Base


The Winmsd.exe Tool Displays the High Interrupt Request Values for Peripheral Component Interconnect Devices

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