1 #ifndef __NTOSKRNL_INCLUDE_INTERNAL_I386_KE_H
2 #define __NTOSKRNL_INCLUDE_INTERNAL_I386_KE_H
4 #define FRAME_EDITED 0xFFF8
11 #define KeArchFnInit() Ke386FnInit()
12 #define KeArchHaltProcessor() Ke386HaltProcessor()
14 extern ULONG Ke386CacheAlignment
;
18 KiInitializeGdt(struct _KPCR
* Pcr
);
20 Ki386ApplicationProcessorInitializeTSS(VOID
);
31 KiGdtPrepareForApplicationProcessorInit(ULONG Id
);
33 Ki386InitializeLdt(VOID
);
35 Ki386SetProcessorFeatures(VOID
);
43 KiGetCacheInformation(VOID
);
59 KiSetProcessorType(VOID
);
63 KiGetFeatureBits(VOID
);
65 ULONG
KeAllocateGdtSelector(ULONG Desc
[2]);
66 VOID
KeFreeGdtSelector(ULONG Entry
);
68 KeApplicationProcessorInitDispatcher(VOID
);
70 KeCreateApplicationProcessorIdleThread(ULONG Id
);
74 Ke386InitThreadWithContext(PKTHREAD Thread
,
75 PKSYSTEM_ROUTINE SystemRoutine
,
76 PKSTART_ROUTINE StartRoutine
,
79 #define KeArchInitThreadWithContext(Thread,SystemRoutine,StartRoutine,StartContext,Context) \
80 Ke386InitThreadWithContext(Thread,SystemRoutine,StartRoutine,StartContext,Context)
82 #ifdef _NTOSKRNL_ /* FIXME: Move flags above to NDK instead of here */
85 KiThreadStartup(PKSYSTEM_ROUTINE SystemRoutine
,
86 PKSTART_ROUTINE StartRoutine
,
89 KTRAP_FRAME TrapFrame
);
93 #endif /* __NTOSKRNL_INCLUDE_INTERNAL_I386_KE_H */