[FREELDR]: Headless/EMS support is an x86-specific feature (at least for now, until the code is made portable).

svn path=/trunk/; revision=49753
This commit is contained in:
Sir Richard 2010-11-23 17:25:37 +00:00
parent ba4d24ea04
commit 3cba3193a4
2 changed files with 8 additions and 4 deletions

View file

@ -75,7 +75,9 @@
<file>winldr.c</file>
<file>wlmemory.c</file>
<file>wlregistry.c</file>
<file>headless.c</file>
<if property="ARCH" value="i386">
<file>headless.c</file>
</if>
</directory>
<file>freeldr.c</file>
<file>debug.c</file>

View file

@ -204,6 +204,7 @@ WinLdrInitializePhase1(PLOADER_PARAMETER_BLOCK LoaderBlock,
Extension->AcpiTable = (PVOID)1;
}
#ifndef _M_ARM
/* Set headless block pointer */
extern HEADLESS_LOADER_BLOCK LoaderRedirectionInformation;
extern BOOLEAN WinLdrTerminalConnected;
@ -222,7 +223,7 @@ WinLdrInitializePhase1(PLOADER_PARAMETER_BLOCK LoaderBlock,
sizeof(HEADLESS_LOADER_BLOCK));
Extension->HeadlessLoaderBlock = PaToVa(Extension->HeadlessLoaderBlock);
}
#endif
/* Load drivers database */
strcpy(MiscFiles, BootPath);
strcat(MiscFiles, "AppPatch\\drvmain.sdb");
@ -534,10 +535,11 @@ LoadAndBootWindows(PCSTR OperatingSystemName,
/* Allocate and minimalistic-initialize LPB */
AllocateAndInitLPB(&LoaderBlock);
#ifndef _M_ARM
/* Setup redirection support */
extern void WinLdrSetupEms(IN PCHAR BootOptions);
WinLdrSetupEms(BootOptions);
#endif
/* Detect hardware */
UseRealHeap = TRUE;
LoaderBlock->ConfigurationRoot = MachHwDetect();
@ -622,7 +624,7 @@ LoadAndBootWindows(PCSTR OperatingSystemName,
/* Save final value of LoaderPagesSpanned */
LoaderBlockVA->Extension->LoaderPagesSpanned = LoaderPagesSpanned;
DPRINTM(DPRINT_WINDOWS, "Hello from paged mode, KiSystemStartup %p, LoaderBlockVA %p!\n",
printf( "Hello from paged mode, KiSystemStartup %p, LoaderBlockVA %p!\n",
KiSystemStartup, LoaderBlockVA);
WinLdrpDumpMemoryDescriptors(LoaderBlockVA);