/* FUNCTIONS ****************************************************************/
+INIT_FUNCTION
NTSTATUS
NTAPI
-INIT_FUNCTION
ExpCreateSystemRootLink(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
{
UNICODE_STRING LinkName;
return STATUS_SUCCESS;
}
+INIT_FUNCTION
VOID
NTAPI
-INIT_FUNCTION
ExpInitNls(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
{
LARGE_INTEGER SectionSize;
ExpNlsTableBase = SectionBase;
}
+INIT_FUNCTION
VOID
NTAPI
-INIT_FUNCTION
ExpLoadInitialProcess(IN PINIT_BUFFER InitBuffer,
OUT PRTL_USER_PROCESS_PARAMETERS *ProcessParameters,
OUT PCHAR *ProcessEnvironment)
*ProcessEnvironment = EnvironmentPtr;
}
+INIT_FUNCTION
ULONG
NTAPI
-INIT_FUNCTION
ExComputeTickCountMultiplier(IN ULONG ClockIncrement)
{
ULONG MsRemainder = 0, MsIncrement;
return (MsIncrement << 24) | MsRemainder;
}
+INIT_FUNCTION
BOOLEAN
NTAPI
-INIT_FUNCTION
ExpInitSystemPhase0(VOID)
{
/* Initialize EXRESOURCE Support */
return TRUE;
}
+INIT_FUNCTION
BOOLEAN
NTAPI
-INIT_FUNCTION
ExpInitSystemPhase1(VOID)
{
/* Initialize worker threads */
}
/* Initialize UUIDs */
- ExpInitUuids();
+ if (ExpUuidInitialization() == FALSE)
+ {
+ DPRINT1("Executive: Uuid initialization failed\n");
+ return FALSE;
+ }
/* Initialize keyed events */
if (ExpInitializeKeyedEventImplementation() == FALSE)
return TRUE;
}
+INIT_FUNCTION
BOOLEAN
NTAPI
-INIT_FUNCTION
ExInitSystem(VOID)
{
/* Check the initialization phase */
}
}
+INIT_FUNCTION
BOOLEAN
NTAPI
-INIT_FUNCTION
ExpIsLoaderValid(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
{
PLOADER_PARAMETER_EXTENSION Extension;
return TRUE;
}
+INIT_FUNCTION
VOID
NTAPI
-INIT_FUNCTION
ExpLoadBootSymbols(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
{
ULONG i = 0;
}
}
+INIT_FUNCTION
VOID
NTAPI
-INIT_FUNCTION
ExBurnMemory(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
IN ULONG_PTR PagesToDestroy,
IN TYPE_OF_MEMORY MemoryType)
}
}
+INIT_FUNCTION
VOID
NTAPI
-INIT_FUNCTION
ExpInitializeExecutive(IN ULONG Cpu,
IN PLOADER_PARAMETER_BLOCK LoaderBlock)
{
if (LoaderBlock->SetupLdrBlock)
{
/* Check if this is text-mode setup */
- if (LoaderBlock->SetupLdrBlock->Flags & SETUPLDR_TEXT_MODE) ExpInTextModeSetup = TRUE;
+ if (LoaderBlock->SetupLdrBlock->Flags & SETUPLDR_TEXT_MODE)
+ ExpInTextModeSetup = TRUE;
/* Check if this is network boot */
if (LoaderBlock->SetupLdrBlock->Flags & SETUPLDR_REMOTE_BOOT)
NTAPI
MmFreeLoaderBlock(IN PLOADER_PARAMETER_BLOCK LoaderBlock);
+INIT_FUNCTION
VOID
NTAPI
-INIT_FUNCTION
Phase1InitializationDiscard(IN PVOID Context)
{
PLOADER_PARAMETER_BLOCK LoaderBlock = Context;
if (!PoInitSystem(0)) KeBugCheck(INTERNAL_POWER_ERROR);
/* Check for Y2K hack */
- Y2KHackRequired = strstr(CommandLine, "YEAR");
+ Y2KHackRequired = CommandLine ? strstr(CommandLine, "YEAR") : NULL;
if (Y2KHackRequired) Y2KHackRequired = strstr(Y2KHackRequired, "=");
if (Y2KHackRequired) YearHack = atol(Y2KHackRequired + 1);
WINDOWS_NT_INFO_STRING,
&MsgEntry);
- /* Get total RAM size */
- Size = MmNumberOfPhysicalPages * PAGE_SIZE / 1024 / 1024;
+ /* Get total RAM size, in MiB */
+ /* Round size up. Assumed to better match actual physical RAM size */
+ Size = ALIGN_UP_BY(MmNumberOfPhysicalPages * PAGE_SIZE, 1024 * 1024) / (1024 * 1024);
/* Create the string */
StringBuffer = InitBuffer->VersionBuffer;
sizeof(InitBuffer->VersionBuffer),
NT_SUCCESS(MsgStatus) ?
(PCHAR)MsgEntry->Text :
- "%u System Processor [%u MB Memory] %Z\r\n",
+ "%u System Processor [%Iu MB Memory] %Z\r\n",
KeNumberProcessors,
Size,
&TempString);