The Winmsd.exe Tool Displays Wrong Interrupt for PCI Device

ID: Q180287


The information in this article applies to:


SYMPTOMS

If you use the Windows NT Diagnostics (Winmsd.exe) tool on a computer that adheres to Intel Multi-Processor Specification (MPS) v1.4, the IRQ displayed for Peripheral Component Interconnect (PCI) devices may be incorrect.

For example, the following information may be displayed in the IRQ And Port report when you run the Winmsd.exe tool on a computer that is using the MPS 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 and Aic78xx PCI devices are incorrect.


CAUSE

This problem occurs because the Winmsd.exe tool displays IRQ information directly from the MPS interrupt table. The MPS v4.1 specification changes the format of PCI devices in the MPS interrupt table to improve support for multiple PCI bus configurations. This results in the Winmsd.exe tool displaying the PCI INT signal value as the Source Bus IRQ instead of displaying the correct IRQ as the Source Bus IRQ.


RESOLUTION

To troubleshoot possible IRQ conflicts on a MPS v1.4-based computer using the Winmsd.exe tool, use the normal uni-processor HAL to resolve the resource conflict, and then change back to the MPS HAL.

To temporarily use the uni-processor HAL and kernel files, follow these steps:

  1. Copy the Hal.dll file and Ntoskrnl.exe file from the Windows NT CD-ROM (or Windows NT Service Pack folder if a Service Pack is installed) to a temporary folder.


  2. Rename the Hal.dll file to Unihal.dll, and rename the Ntoskrnl.exe file to Unikrnl.exe.


  3. Copy the files you renamed in step 2 to the %systemroot%\winnt\system32 folder.


  4. Remove the read only attribute from the Boot.ini file. To do so, type the following command at a command prompt, and then press ENTER

    attrib -s -h -r <system root>\boot.ini

    where <system root> is the drive on which your boot files are located.


  5. Use any text editor (such as Notepad) to modify the [operating system] section to read:
    
    [operating systems]
    multi(0)disk ....\WINNT40="Windows NT Server Version 4.00"
    multi(0)disk ....\WINNT40="Windows NT Version 4.00 [UNIHAL]"
    /hal=unihal.dll /kernel=unikrnl.exe 

    NOTE: Do not wrap the second line.


  6. Save the Boot.ini file, quit the text editor, and then restart your computer.


  7. Choose Windows NT Version 4.00 [UNIHAL] from the Windows NT boot menu.


  8. In Windows NT, run the Winmsd.exe tool to view the correct IRQs for


  9. PCI devices.


STATUS

Microsoft has confirmed this to be a problem in Microsoft Windows NT version 3.5, 3.51, and 4.0.


MORE INFORMATION

MPS is a specification used by computer manufacturers to design and build Intel-based computers with multiple processors.

Additional query words: PCI bridge device


Keywords          : kbsetup ntsetup NTSrvWkst 
Version           : WinNT:3.5,3.51,4.0
Platform          : winnt 
Issue type        : kbprb 

Last Reviewed: January 30, 1999