Microsoft KB Archive/811736

= An Interrupt Event That Is Returned from a Non-Maskable Interrupt Service Routine on an SH3 or SH4 Processor May Be Missed =

Article ID: 811736

Article Last Modified on 8/18/2005

-

APPLIES TO


 * Microsoft Encarta Reference Suite 2001

-



SYMPTOMS
If the OEM adaptation layer (OAL) OEMNMI function has been implemented by an OEM to return an interrupt ID (a SYSINTR value), the interrupt service thread (IST) may not be signaled. The frequency with which this problem occurs depends on the system load and the frequency of the non-maskable interrupt (NMI).

Note that the ability to return an interrupt ID from the NMI handler is unique to the Hitachi SH3 and SH4 Microsoft Windows CE kernels.



RESOLUTION
A supported software update is now available from Microsoft as Windows CE 3.0 Core OS QFE 811736. To resolve this problem immediately, click the following article number for information about obtaining Windows CE Platform Builder and core operating system software updates:

837392 How to locate core operating system fixes for Microsoft Windows CE Platform Builder products

The English version of this package has the following file attributes or later:   Date         Time   Version    Size       File name -  15-Jan-2003  23:45  3.0.3.115  1,874,520  030115_arm720_wce30-q811736.exe 15-Jan-2003 23:45  3.0.3.115  2,005,592  030115_ppc403_wce30-q811736.exe 15-Jan-2003 23:45  3.0.3.115  2,005,592  030115_ppc821_wce30-q811736.exe 15-Jan-2003 23:45  3.0.3.115  1,964,632  030115_r3000_wce30-q811736.exe 15-Jan-2003 23:45  3.0.3.115  1,964,632  030115_r4100_wce30-q811736.exe 15-Jan-2003 23:45  3.0.3.115  1,968,728  030115_r4111_wce30-q811736.exe 15-Jan-2003 23:45  3.0.3.115  2,087,512  030115_r4300_wce30-q811736.exe 15-Jan-2003 23:45  3.0.3.115  1,870,424  030115_sa1100_wce30-q811736.exe 15-Jan-2003 23:45  3.0.3.115  1,899,096  030115_sh3_wce30-q811736.exe 15-Jan-2003 23:45  3.0.3.115  1,931,864  030115_sh4_wce30-q811736.exe 15-Jan-2003 23:45  3.0.3.115  1,976,920  030115_thumb_wce30-q811736.exe 15-Jan-2003 23:45  3.0.3.115  1,772,120  030115_x86_wce30-q811736.exe The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.   Date         Time                   Size       File name ---  Path: Public\Common\Oak\Lib\Arm\ARM720\Ce\Debug 18-Dec-2002 17:08                  1,349,750  Nkmain.lib 18-Dec-2002 17:08                    102,400  Nkmain.pdb 18-Dec-2002 17:08                  1,529,914  Nkprmain.lib 18-Dec-2002 17:08                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Arm\ARM720\Ce\Retail 18-Dec-2002 17:08                    911,734  Nkmain.lib 18-Dec-2002 17:08                    102,400  Nkmain.pdb 18-Dec-2002 17:08                  1,070,960  Nkprmain.lib 18-Dec-2002 17:08                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Arm\SA1100\Ce\Debug 18-Dec-2002 17:02                  1,346,354  Nkmain.lib 18-Dec-2002 17:02                    102,400  Nkmain.pdb 18-Dec-2002 17:02                  1,526,242  Nkprmain.lib 18-Dec-2002 17:02                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Arm\SA1100\Ce\Retail 18-Dec-2002 17:02                    908,354  Nkmain.lib 18-Dec-2002 17:02                    102,400  Nkmain.pdb 18-Dec-2002 17:02                  1,067,264  Nkprmain.lib 18-Dec-2002 17:02                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Mips\R3000\Ce\Debug 18-Dec-2002 17:04                  1,535,210  Nkmain.lib 18-Dec-2002 17:04                    102,400  Nkmain.pdb 18-Dec-2002 17:04                  1,712,490  Nkprmain.lib 18-Dec-2002 17:04                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Mips\R3000\Ce\Retail 18-Dec-2002 17:04                  1,075,834  Nkmain.lib 18-Dec-2002 17:04                    102,400  Nkmain.pdb 18-Dec-2002 17:04                  1,229,190  Nkprmain.lib 18-Dec-2002 17:04                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Mips\R4100\Ce\Debug 18-Dec-2002 17:05                  1,537,366  Nkmain.lib 18-Dec-2002 17:05                    102,400  Nkmain.pdb 18-Dec-2002 17:05                  1,716,000  Nkprmain.lib 18-Dec-2002 17:05                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Mips\R4100\Ce\Retail 18-Dec-2002 17:05                  1,075,826  Nkmain.lib 18-Dec-2002 17:05                    102,400  Nkmain.pdb 18-Dec-2002 17:05                  1,228,802  Nkprmain.lib 18-Dec-2002 17:05                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Mips\R4111\Ce\Debug 18-Dec-2002 17:06                  1,561,676  Nkmain.lib 18-Dec-2002 17:06                    102,400  Nkmain.pdb 18-Dec-2002 17:06                  1,740,312  Nkprmain.lib 18-Dec-2002 17:06                    110,592  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Mips\R4111\Ce\Retail 18-Dec-2002 17:05                    959,978  Nkmain.lib 18-Dec-2002 17:05                    102,400  Nkmain.pdb 18-Dec-2002 17:05                  1,108,360  Nkprmain.lib 18-Dec-2002 17:05                    110,592  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Mips\R4300\Ce\Debug 18-Dec-2002 17:06                  1,602,978  Nkmain.lib 18-Dec-2002 17:06                    102,400  Nkmain.pdb 18-Dec-2002 17:06                  1,782,112  Nkprmain.lib 18-Dec-2002 17:06                    110,592  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Mips\R4300\Ce\Retail 18-Dec-2002 17:06                  1,140,854  Nkmain.lib 18-Dec-2002 17:06                    102,400  Nkmain.pdb 18-Dec-2002 17:06                  1,295,284  Nkprmain.lib 18-Dec-2002 17:06                    110,592  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Ppc\PPC403\Ce\Debug 18-Dec-2002 17:07                  1,446,334  Nkmain.lib 18-Dec-2002 17:07                    102,400  Nkmain.pdb 18-Dec-2002 17:07                  1,634,576  Nkprmain.lib 18-Dec-2002 17:07                    110,592  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Ppc\PPC403\Ce\Retail 18-Dec-2002 17:07                    933,976  Nkmain.lib 18-Dec-2002 17:07                    102,400  Nkmain.pdb 18-Dec-2002 17:07                  1,095,940  Nkprmain.lib 18-Dec-2002 17:07                    110,592  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Ppc\PPC821\Ce\Debug 18-Dec-2002 17:08                  1,444,406  Nkmain.lib 18-Dec-2002 17:08                    102,400  Nkmain.pdb 18-Dec-2002 17:08                  1,632,510  Nkprmain.lib 18-Dec-2002 17:08                    110,592  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Ppc\PPC821\Ce\Retail 18-Dec-2002 17:07                    932,526  Nkmain.lib 18-Dec-2002 17:07                    102,400  Nkmain.pdb 18-Dec-2002 17:07                  1,094,350  Nkprmain.lib 18-Dec-2002 17:07                    110,592  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Shx\SH3\Ce\Debug 18-Dec-2002 17:03                  1,299,010  Nkmain.lib 18-Dec-2002 17:03                     94,208  Nkmain.pdb 18-Dec-2002 17:03                  1,464,780  Nkprmain.lib 18-Dec-2002 17:03                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Shx\SH3\Ce\Retail 18-Dec-2002 17:02                    899,980  Nkmain.lib 18-Dec-2002 17:02                     94,208  Nkmain.pdb 18-Dec-2002 17:03                  1,053,806  Nkprmain.lib 18-Dec-2002 17:03                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Shx\SH4\Ce\Debug 18-Dec-2002 17:03                  1,324,962  Nkmain.lib 18-Dec-2002 17:03                     94,208  Nkmain.pdb 18-Dec-2002 17:04                  1,493,268  Nkprmain.lib 18-Dec-2002 17:04                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Shx\SH4\Ce\Retail 18-Dec-2002 17:03                    920,952  Nkmain.lib 18-Dec-2002 17:03                     94,208  Nkmain.pdb 18-Dec-2002 17:03                  1,077,322  Nkprmain.lib 18-Dec-2002 17:03                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Thumb\ARM720\Ce\Debug 18-Dec-2002 17:09                  1,372,408  Nkmain.lib 18-Dec-2002 17:09                    102,400  Nkmain.pdb 18-Dec-2002 17:09                  1,550,080  Nkprmain.lib 18-Dec-2002 17:09                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\Thumb\ARM720\Ce\Retail 18-Dec-2002 17:09                    954,206  Nkmain.lib 18-Dec-2002 17:09                    102,400  Nkmain.pdb 18-Dec-2002 17:09                  1,113,030  Nkprmain.lib 18-Dec-2002 17:09                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\X86\I486\CE\Debug 18-Dec-2002 17:01                  1,544,480  Nkmain.lib 18-Dec-2002 17:01                    102,400  Nkmain.pdb 18-Dec-2002 17:01                  1,707,904  Nkprmain.lib 18-Dec-2002 17:01                    102,400  Nkprmain.pdb

Path: Public\Common\Oak\Lib\X86\I486\CE\Retail 18-Dec-2002 17:01                  1,110,864  Nkmain.lib 18-Dec-2002 17:01                    102,400  Nkmain.pdb 18-Dec-2002 17:01                  1,253,472  Nkprmain.lib 18-Dec-2002 17:01                    102,400  Nkprmain.pdb



MORE INFORMATION
If an NMI occurs while the kernel is running a short section of code that is responsible for handling interrupt events, the interrupt event that is associated with the NMI is lost. The kernel code is protected by masking interrupts, but the NMI cannot be masked. The hotfix that this article describes provides a change to the design of this kernel code. The changed design of the code causes the code to be immune to being interrupted (by using a restartable operation). This hotfix is significant only on the SH3 and SH4 processors.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Additional query words: isr

Keywords: kbbug kbfix kbqfe KB811736

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.