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/hw... ============================================================================== --- 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=4540... ============================================================================== --- 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... ============================================================================== --- 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/freeld... ============================================================================== --- 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>