/* INCLUDES *******************************************************************/
#include <ntifs.h>
-#include <ntndk.h>
+#include <ndk/ketypes.h>
/* FUNCTIONS ******************************************************************/
{
((PCHAR)&KiBugCheckData[4])[0] -= (NmiBegin[3] | NmiBegin[7]);
((PCHAR)&KiBugCheckData[4])[3] |= 1;
+#ifdef _M_IX86
#ifdef _MSC_VER
__asm
{
#else
__asm__("rcrl %b[shift], %k[retval]" : [retval] "=rm" (KiBugCheckData[4]) : "[retval]" (KiBugCheckData[4]), [shift] "Nc" (8));
#endif
+#endif
}
BOOLEAN
((void(*)())&KiBugCheckData[4])();
/* Handle the NMI safely */
+#ifdef _M_IX86
KiEnableTimerWatchdog = (RtlCompareMemory(NmiBegin, NmiBegin + 4, 4) != 4);
+#endif
return TRUE;
}