Big merge: thanks alex and greatlord. Not a complete merge but most
[reactos.git] / reactos / ntoskrnl / include / internal / ke.h
index cab282b..1acd0c8 100644 (file)
@@ -82,9 +82,13 @@ extern ULONG KeProcessorArchitecture;
 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;
@@ -96,7 +100,11 @@ extern ULONG KeI386EFlagsOrMaskV86;
 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;
@@ -119,8 +127,8 @@ extern KEVENT KiSwapEvent;
 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 *************************************************************************/
 
@@ -797,6 +805,36 @@ KiFlushNPXState(
     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 */