Author: evb
Date: Thu Feb 4 00:17:16 2010
New Revision: 45403
URL:
http://svn.reactos.org/svn/reactos?rev=45403&view=rev
Log:
- Enable RAMDISK support in LLB.
- Build commandline for OS Loader (FreeLDR).
- Now ready to start loading freeldr.ini
Modified:
trunk/reactos/boot/armllb/hw/versatile/hwinit.c
trunk/reactos/boot/armllb/inc/osloader.h
trunk/reactos/boot/armllb/main.c
trunk/reactos/boot/armllb/os/loader.c
trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild
Modified: trunk/reactos/boot/armllb/hw/versatile/hwinit.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/armllb/hw/versatile/h…
==============================================================================
--- trunk/reactos/boot/armllb/hw/versatile/hwinit.c [iso-8859-1] (original)
+++ trunk/reactos/boot/armllb/hw/versatile/hwinit.c [iso-8859-1] Thu Feb 4 00:17:16 2010
@@ -29,10 +29,23 @@
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;
}
Modified: trunk/reactos/boot/armllb/inc/osloader.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/armllb/inc/osloader.h…
==============================================================================
--- trunk/reactos/boot/armllb/inc/osloader.h [iso-8859-1] (original)
+++ trunk/reactos/boot/armllb/inc/osloader.h [iso-8859-1] Thu Feb 4 00:17:16 2010
@@ -94,7 +94,7 @@
VOID
NTAPI
LlbBoot(
- IN PCHAR CommandLine
+ VOID
);
/* EOF */
Modified: trunk/reactos/boot/armllb/main.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/armllb/main.c?rev=454…
==============================================================================
--- trunk/reactos/boot/armllb/main.c [iso-8859-1] (original)
+++ trunk/reactos/boot/armllb/main.c [iso-8859-1] Thu Feb 4 00:17:16 2010
@@ -29,7 +29,7 @@
printf("ReactOS ARM Low-Level Boot Loader [" __DATE__ " "__TIME__
"]\n");
/* Boot the OS Loader */
- LlbBoot("");
+ LlbBoot();
while (TRUE);
}
Modified: trunk/reactos/boot/armllb/os/loader.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/armllb/os/loader.c?re…
==============================================================================
--- trunk/reactos/boot/armllb/os/loader.c [iso-8859-1] (original)
+++ trunk/reactos/boot/armllb/os/loader.c [iso-8859-1] Thu Feb 4 00:17:16 2010
@@ -124,16 +124,13 @@
VOID
NTAPI
-LlbBoot(IN PCHAR CommandLine)
+LlbBoot(VOID)
{
/* Setup the ARM block */
LlbBuildArmBlock();
/* Build the memory map */
LlbBuildMemoryMap();
-
- /* Set the command-line */
- LlbSetCommandLine(CommandLine);
/* Load the OS loader */
LlbLoadOsLoader();
Modified: trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/freel…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild [iso-8859-1] Thu Feb 4 00:17:16
2010
@@ -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>