[ros-diffs] [evb] 45403: - Enable RAMDISK support in LLB. - Build commandline for OS Loader (FreeLDR). - Now ready to start loading freeldr.ini

evb at svn.reactos.org evb at svn.reactos.org
Thu Feb 4 00:17:17 CET 2010


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/hwinit.c?rev=45403&r1=45402&r2=45403&view=diff
==============================================================================
--- 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?rev=45403&r1=45402&r2=45403&view=diff
==============================================================================
--- 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=45403&r1=45402&r2=45403&view=diff
==============================================================================
--- 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?rev=45403&r1=45402&r2=45403&view=diff
==============================================================================
--- 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/freeldr.rbuild?rev=45403&r1=45402&r2=45403&view=diff
==============================================================================
--- 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>




More information about the Ros-diffs mailing list