- Add stubs for video mach functions and update minor to 1.3.
[reactos.git] / reactos / 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 3
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 } ARM_BOARD_CONFIGURATION_BLOCK, *PARM_BOARD_CONFIGURATION_BLOCK;
73
74 VOID
75 NTAPI
76 LlbAllocateMemoryEntry(
77 IN BIOS_MEMORY_TYPE Type,
78 IN ULONG BaseAddress,
79 IN ULONG Length
80 );
81
82 VOID
83 NTAPI
84 LlbSetCommandLine(
85 IN PCHAR CommandLine
86 );
87
88 VOID
89 NTAPI
90 LlbBuildArmBlock(
91 VOID
92 );
93
94 VOID
95 NTAPI
96 LlbBuildMemoryMap(
97 VOID
98 );
99
100 VOID
101 NTAPI
102 LlbLoadOsLoader(
103 VOID
104 );
105
106 VOID
107 NTAPI
108 LlbBoot(
109 VOID
110 );
111
112 /* EOF */