- Enable RAMDISK support in LLB.

- Build commandline for OS Loader (FreeLDR).
- Now ready to start loading freeldr.ini


svn path=/trunk/; revision=45403
This commit is contained in:
evb 2010-02-03 23:17:16 +00:00
parent 8649bab99c
commit 09504f4242
5 changed files with 20 additions and 10 deletions

View file

@ -29,10 +29,23 @@ POSLOADER_INIT
NTAPI
LlbHwLoadOsLoaderFromRam(VOID)
{
ULONG Base, Dummy;
ULONG Base, RootFs, Size;
CHAR CommandLine[64];
/* On versatile, the loader is loaded with the RAMDISK. Just get the address */
LlbEnvGetRamDiskInformation(&Base, &Dummy);
/* On versatile, the NAND image is loaded as the RAMDISK */
LlbEnvGetRamDiskInformation(&Base, &Size);
/* The LLB is first, which we already have, so skip it */
Base += 0x10000; // 64 KB (see nandflash)
/* The OS loader is next, followed by the root file system */
RootFs = Base + 0x80000; // 512 KB (see nandflash)
/* Set parameters for the OS loader */
sprintf(CommandLine, "rdbase=0x%x rdsize=0x%x", RootFs, Size);
LlbSetCommandLine(CommandLine);
/* Return the OS loader base address */
return (POSLOADER_INIT)Base;
}

View file

@ -94,7 +94,7 @@ LlbLoadOsLoader(
VOID
NTAPI
LlbBoot(
IN PCHAR CommandLine
VOID
);
/* EOF */

View file

@ -29,7 +29,7 @@ LlbStartup(IN ULONG Reserved,
printf("ReactOS ARM Low-Level Boot Loader [" __DATE__ " "__TIME__ "]\n");
/* Boot the OS Loader */
LlbBoot("");
LlbBoot();
while (TRUE);
}

View file

@ -124,7 +124,7 @@ LlbLoadOsLoader(VOID)
VOID
NTAPI
LlbBoot(IN PCHAR CommandLine)
LlbBoot(VOID)
{
/* Setup the ARM block */
LlbBuildArmBlock();
@ -132,9 +132,6 @@ LlbBoot(IN PCHAR CommandLine)
/* Build the memory map */
LlbBuildMemoryMap();
/* Set the command-line */
LlbSetCommandLine(CommandLine);
/* Load the OS loader */
LlbLoadOsLoader();

View file

@ -38,7 +38,7 @@
<linkerflag>-Wl,--image-base=0x80FFF000</linkerflag>
</if>
<if property="SARCH" value="versatile">
<linkerflag>-Wl,--image-base=0x007FF000</linkerflag>
<linkerflag>-Wl,--image-base=0x0080F000</linkerflag>
</if>
</group>
</module>