Sync with trunk r63502.
[reactos.git] / boot / armllb / inc / osloader.h
1 /*
2 * PROJECT: ReactOS Boot Loader
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: boot/armllb/inc/osloader.h
5 * PURPOSE: Shared header between LLB and OS Loader
6 * PROGRAMMERS: ReactOS Portable Systems Group
7 */
8
9 //
10 // OS Loader Main Routine
11 //
12 typedef
13 VOID (*POSLOADER_INIT)(
14 IN PVOID BoardInit
15 );
16
17 #ifndef __REGISTRY_H
18 //
19 // Type of memory detected by LLB
20 //
21 typedef enum
22 {
23 BiosMemoryUsable = 1,
24 BiosMemoryBootLoader,
25 BiosMemoryBootStrap,
26 BiosMemoryReserved
27 } BIOS_MEMORY_TYPE;
28
29 //
30 // Firmware Memory Map
31 //
32 typedef struct
33 {
34 LONGLONG BaseAddress;
35 LONGLONG Length;
36 ULONG Type;
37 ULONG Reserved;
38 } BIOS_MEMORY_MAP, *PBIOS_MEMORY_MAP;
39 #endif
40
41 //
42 // Information sent from LLB to OS Loader
43 //
44 #define ARM_BOARD_CONFIGURATION_MAJOR_VERSION 1
45 #define ARM_BOARD_CONFIGURATION_MINOR_VERSION 4
46 typedef struct _ARM_BOARD_CONFIGURATION_BLOCK
47 {
48 ULONG MajorVersion;
49 ULONG MinorVersion;
50 ULONG BoardType;
51 ULONG ClockRate;
52 ULONG TimerRegisterBase;
53 ULONG UartRegisterBase;
54 ULONG MemoryMapEntryCount;
55 PBIOS_MEMORY_MAP MemoryMap;
56 CHAR CommandLine[256];
57 PVOID ConsPutChar;
58 PVOID ConsKbHit;
59 PVOID ConsGetCh;
60 PVOID VideoClearScreen;
61 PVOID VideoSetDisplayMode;
62 PVOID VideoGetDisplaySize;
63 PVOID VideoGetBufferSize;
64 PVOID VideoSetTextCursorPosition;
65 PVOID VideoHideShowTextCursor;
66 PVOID VideoPutChar;
67 PVOID VideoCopyOffScreenBufferToVRAM;
68 PVOID VideoIsPaletteFixed;
69 PVOID VideoSetPaletteColor;
70 PVOID VideoGetPaletteColor;
71 PVOID VideoSync;
72 PVOID GetTime;
73 } ARM_BOARD_CONFIGURATION_BLOCK, *PARM_BOARD_CONFIGURATION_BLOCK;
74
75 VOID
76 NTAPI
77 LlbAllocateMemoryEntry(
78 IN BIOS_MEMORY_TYPE Type,
79 IN ULONG BaseAddress,
80 IN ULONG Length
81 );
82
83 VOID
84 NTAPI
85 LlbSetCommandLine(
86 IN PCHAR CommandLine
87 );
88
89 VOID
90 NTAPI
91 LlbBuildArmBlock(
92 VOID
93 );
94
95 VOID
96 NTAPI
97 LlbBuildMemoryMap(
98 VOID
99 );
100
101 VOID
102 NTAPI
103 LlbLoadOsLoader(
104 VOID
105 );
106
107 VOID
108 NTAPI
109 LlbBoot(
110 VOID
111 );
112
113 /* EOF */