- Put all Phase 1 Ex* Initialization in ExpInitSystemPhase1 and clean up associated deprecated calls.

- Call ExpInitializePushLocks since we weren't doing this before.

svn path=/trunk/; revision=24412
This commit is contained in:
Alex Ionescu
2006-10-05 15:13:59 +00:00
parent 3f66fcf605
commit eb8c705ce9
2 changed files with 45 additions and 27 deletions
+41 -27
View File
@@ -327,10 +327,10 @@ ExpDisplayNotice(VOID)
}
INIT_FUNCTION
NTSTATUS
ExpLoadInitialProcess(PHANDLE ProcessHandle,
PHANDLE ThreadHandle)
NTAPI
ExpLoadInitialProcess(IN PHANDLE ProcessHandle,
IN PHANDLE ThreadHandle)
{
PRTL_USER_PROCESS_PARAMETERS ProcessParameters = NULL;
NTSTATUS Status;
@@ -469,21 +469,6 @@ ExpLoadInitialProcess(PHANDLE ProcessHandle,
return STATUS_SUCCESS;
}
VOID
NTAPI
ExInit3(VOID)
{
ExpInitializeEventImplementation();
ExpInitializeEventPairImplementation();
ExpInitializeMutantImplementation();
ExpInitializeSemaphoreImplementation();
ExpInitializeTimerImplementation();
LpcpInitSystem();
ExpInitializeProfileImplementation();
ExpWin32kInit();
ExpInitUuids();
}
ULONG
NTAPI
ExComputeTickCountMultiplier(IN ULONG ClockIncrement)
@@ -542,8 +527,37 @@ BOOLEAN
NTAPI
ExpInitSystemPhase1(VOID)
{
/* Not yet done */
return FALSE;
/* Initialize worker threads */
ExpInitializeWorkerThreads();
/* Initialize pushlocks */
ExpInitializePushLocks();
/* Initialize events and event pairs */
ExpInitializeEventImplementation();
ExpInitializeEventPairImplementation();
/* Initialize callbacks */
ExpInitializeCallbacks();
/* Initialize mutants */
ExpInitializeMutantImplementation();
/* Initialize semaphores */
ExpInitializeSemaphoreImplementation();
/* Initialize timers */
ExpInitializeTimerImplementation();
/* Initialize profiling */
ExpInitializeProfileImplementation();
/* Initialize UUIDs */
ExpInitUuids();
/* Initialize Win32K */
ExpWin32kInit();
return TRUE;
}
BOOLEAN
@@ -847,6 +861,9 @@ ExPhase2Init(PVOID Context)
HANDLE ThreadHandle;
NTSTATUS Status;
/* Set to phase 1 */
ExpInitializationPhase = 1;
/* Set us at maximum priority */
KeSetPriorityThread(KeGetCurrentThread(), HIGH_PRIORITY);
@@ -860,13 +877,7 @@ ExPhase2Init(PVOID Context)
HalInitSystem(1, KeLoaderBlock);
/* Initialize Basic System Objects and Worker Threads */
ExInit3();
/* initialize the worker threads */
ExpInitializeWorkerThreads();
/* initialize callbacks */
ExpInitializeCallbacks();
ExInitSystem();
/* Call KD Providers at Phase 1 */
KdInitSystem(1, KeLoaderBlock);
@@ -907,6 +918,9 @@ ExPhase2Init(PVOID Context)
/* Create NLS section */
ExpInitNls();
/* Initialize LPC */
LpcpInitSystem();
/* Import and Load Registry Hives */
CmInitHives(ExpInTextModeSetup);
+4
View File
@@ -61,6 +61,10 @@ ExPhase2Init(
IN PVOID Context
);
VOID
NTAPI
ExpInitializePushLocks(VOID);
VOID
NTAPI
ExpInitTimeZoneInfo(VOID);