-#ifndef __NTOSKRNL_INCLUDE_INTERNAL_KE_H
-#define __NTOSKRNL_INCLUDE_INTERNAL_KE_H
+#pragma once
/* INCLUDES *****************************************************************/
extern UCHAR KeProcessNodeSeed;
extern ETHREAD KiInitialThread;
extern EPROCESS KiInitialProcess;
-extern ULONG KiInterruptTemplate[KINTERRUPT_DISPATCH_CODES];
extern PULONG KiInterruptTemplateObject;
extern PULONG KiInterruptTemplateDispatch;
extern PULONG KiInterruptTemplate2ndDispatch;
extern ULONG KiUnexpectedEntrySize;
-extern UCHAR P0BootStack[];
-extern UCHAR KiDoubleFaultStack[];
+extern ULONG_PTR KiDoubleFaultStack;
extern EX_PUSH_LOCK KernelAddressSpaceLock;
extern ULONG KiMaximumDpcQueueDepth;
extern ULONG KiMinimumDpcRate;
extern PVOID KeRaiseUserExceptionDispatcher;
extern ULONG KeTimeIncrement;
extern ULONG KeTimeAdjustment;
+extern LONG KiTickOffset;
extern ULONG_PTR KiBugCheckData[5];
extern ULONG KiFreezeFlag;
extern ULONG KiDPCTimeout;
+extern PGDI_BATCHFLUSH_ROUTINE KeGdiFlushUserBatch;
+extern ULONGLONG BootCycles, BootCyclesEnd;
+extern ULONG ProcessCount;
+extern VOID __cdecl KiInterruptTemplate(VOID);
/* MACROS *************************************************************************/
IN PVOID SystemArgument2
);
-ULONG
-NTAPI
-KiComputeTimerTableIndex(
- IN LONGLONG TimeValue
-);
-
ULONG
NTAPI
KeSetProcess(
VOID
NTAPI
-KiSystemStartupReal(
+KiSystemStartup(
IN PLOADER_PARAMETER_BLOCK LoaderBlock
);
ULONG_PTR BugCheckParameter4,
PKTRAP_FRAME Tf
);
-
-VOID
-NTAPI
-KiDispatchExceptionFromTrapFrame(
- IN NTSTATUS Code,
- IN ULONG_PTR Address,
- IN ULONG ParameterCount,
- IN ULONG_PTR Parameter1,
- IN ULONG_PTR Parameter2,
- IN ULONG_PTR Parameter3,
- IN PKTRAP_FRAME TrapFrame
-);
-
+
BOOLEAN
NTAPI
KiHandleNmi(VOID);
VOID
NTAPI
KeRosDumpStackFrames(
- PULONG Frame,
+ PULONG_PTR Frame,
ULONG FrameCount
);
VOID
);
-#ifndef HAL_INTERRUPT_SUPPORT_IN_C
-VOID
+NTSTATUS
NTAPI
-KiInterruptDispatch(
- VOID
+KiRaiseException(
+ IN PEXCEPTION_RECORD ExceptionRecord,
+ IN PCONTEXT Context,
+ IN PKEXCEPTION_FRAME ExceptionFrame,
+ IN PKTRAP_FRAME TrapFrame,
+ IN BOOLEAN SearchFrames
);
-VOID
+NTSTATUS
NTAPI
-KiChainedDispatch(
- VOID
+KiContinue(
+ IN PCONTEXT Context,
+ IN PKEXCEPTION_FRAME ExceptionFrame,
+ IN PKTRAP_FRAME TrapFrame
);
-#else
+
+VOID
+FASTCALL
+KiServiceExit(
+ IN PKTRAP_FRAME TrapFrame,
+ IN NTSTATUS Status
+);
+
+VOID
+FASTCALL
+KiServiceExit2(
+ IN PKTRAP_FRAME TrapFrame
+);
+
VOID
FASTCALL
KiInterruptDispatch(
IN PKTRAP_FRAME TrapFrame,
IN PKINTERRUPT Interrupt
);
-#endif
VOID
NTAPI
);
VOID
-KiSystemService(
- IN PKTHREAD Thread,
- IN PKTRAP_FRAME TrapFrame,
- IN ULONG Instruction
+FASTCALL
+KiIdleLoop(
+ VOID
);
+DECLSPEC_NORETURN
VOID
-KiIdleLoop(
- VOID
+FASTCALL
+KiSystemFatalException(
+ IN ULONG ExceptionCode,
+ IN PKTRAP_FRAME TrapFrame
);
#include "ke_x.h"
-
-#endif /* __NTOSKRNL_INCLUDE_INTERNAL_KE_H */