LlbHwBuildMemoryMap(MemoryMap);
}
-//
-// Should go to hwdev.c
-//
-POSLOADER_INIT
-NTAPI
-LlbHwLoadOsLoaderFromRam(VOID)
-{
- ULONG Base, RootFs, Size;
- PCHAR Offset;
- CHAR CommandLine[64];
-
- /* On versatile we load the RAMDISK with initrd */
- LlbEnvGetRamDiskInformation(&RootFs, &Size);
- DbgPrint("Root fs: %lx, size: %lx\n", RootFs, Size);
-
- /* The OS Loader is at 0x20000, always */
- Base = 0x20000;
-
- /* Read image offset */
- Offset = LlbEnvRead("rdoffset");
-
- /* Set parameters for the OS loader */
- snprintf(CommandLine,
- sizeof(CommandLine),
- "rdbase=0x%x rdsize=0x%x rdoffset=%s",
- RootFs, Size, Offset);
- LlbSetCommandLine(CommandLine);
-
- /* Return the OS loader base address */
- return (POSLOADER_INIT)Base;
-}
-
VOID
NTAPI
LlbLoadOsLoader(VOID)
{
//todo
}
-
- LoaderInit = (PVOID)0x80000000;
-#ifdef _ZOOM2_ // need something better than this...
- LoaderInit = (PVOID)0x81070000;
-#endif
printf("OS Loader loaded at 0x%p...JUMP!\n\n\n\n\n", LoaderInit);
}
/* Load the OS loader */
LlbLoadOsLoader();
-
+
/* Jump to the OS Loader (FreeLDR in this case) */
LoaderInit(&ArmBlock);
}