extern ULONG KeProcessorLevel;
extern ULONG KeProcessorRevision;
extern ULONG KeFeatureBits;
+extern ULONG Ke386GlobalPagesEnabled;
+extern KNODE KiNode0;
extern PKNODE KeNodeBlock[1];
extern UCHAR KeNumberNodes;
extern UCHAR KeProcessNodeSeed;
+extern ETHREAD KiInitialThread;
+extern EPROCESS KiInitialProcess;
extern ULONG KiInterruptTemplate[KINTERRUPT_DISPATCH_CODES];
extern PULONG KiInterruptTemplateObject;
extern PULONG KiInterruptTemplateDispatch;
extern BOOLEAN KeI386VirtualIntExtensions;
extern KIDTENTRY KiIdt[];
extern KGDTENTRY KiBootGdt[];
+extern KDESCRIPTOR KiGdtDescriptor;
+extern KDESCRIPTOR KiIdtDescriptor;
extern KTSS KiBootTss;
+extern UCHAR P0BootStack[];
+extern UCHAR KiDoubleFaultStack[];
extern FAST_MUTEX KernelAddressSpaceLock;
extern ULONG KiMaximumDpcQueueDepth;
extern ULONG KiMinimumDpcRate;
extern PKPRCB KiProcessorBlock[];
extern ULONG KiMask32Array[MAXIMUM_PRIORITY];
extern ULONG IdleProcessorMask;
-extern ULONG trap_stack_top;
extern VOID KiTrap8(VOID);
+extern VOID KiTrap2(VOID);
/* MACROS *************************************************************************/
IN FLOATING_SAVE_AREA *SaveArea
);
+VOID
+NTAPI
+KiInitSpinLocks(
+ IN PKPRCB Prcb,
+ IN CCHAR Number
+);
+
+LARGE_INTEGER
+NTAPI
+KiComputeReciprocal(
+ IN LONG Divisor,
+ OUT PUCHAR Shift
+);
+
+VOID
+NTAPI
+KiInitSystem(
+ VOID
+);
+
+#ifdef _M_IX86
+#define KeHaltProcessor Ke386HaltProcessor
+#define KeEnableInterrupts Ke386EnableInterrupts
+#define KeDisableInterrupts Ke386DisableInterrupts
+#elif defined(_M_PPC)
+#define KeHaltProcessor KePPCHaltProcessor
+#define KeEnableInterrupts KePPCEnableInterrupts
+#define KeDisableInterrupts KePPCDisableInterrupts
+#endif
+
#include "ke_x.h"
#endif /* __NTOSKRNL_INCLUDE_INTERNAL_KE_H */