Sunc with trunk revision 58971.
[reactos.git] / boot / armllb / hw / versatile / hwinit.c
1 /*
2 * PROJECT: ReactOS Boot Loader
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: boot/armllb/hw/versatile/hwinit.c
5 * PURPOSE: LLB Hardware Initialization Routines for Versatile
6 * PROGRAMMERS: ReactOS Portable Systems Group
7 */
8
9 #include "precomp.h"
10
11 VOID
12 NTAPI
13 LlbHwInitialize(VOID)
14 {
15 /* Setup the CLCD (PL110) */
16 LlbHwVersaClcdInitialize();
17
18 /* Setup the UART (PL011) */
19 LlbHwVersaUartInitialize();
20
21 /* Setup the KMI (PL050) */
22 LlbHwVersaKmiInitialize();
23 }
24
25 //
26 // Should go to hwdev.c
27 //
28 POSLOADER_INIT
29 NTAPI
30 LlbHwLoadOsLoaderFromRam(VOID)
31 {
32 ULONG Base, RootFs, Size;
33 PCHAR Offset;
34 CHAR CommandLine[64];
35
36 /* On versatile we load the RAMDISK with initrd */
37 LlbEnvGetRamDiskInformation(&RootFs, &Size);
38
39 /* The OS Loader is at 0x20000, always */
40 Base = 0x20000;
41
42 /* Read image offset */
43 Offset = LlbEnvRead("rdoffset");
44
45 /* Set parameters for the OS loader */
46 sprintf(CommandLine, "rdbase=0x%x rdsize=0x%x rdoffset=%s", RootFs, Size, Offset);
47 LlbSetCommandLine(CommandLine);
48
49 /* Return the OS loader base address */
50 return (POSLOADER_INIT)Base;
51 }
52
53
54 /* EOF */