2010-02-01 18:33:24 +00:00
|
|
|
/*
|
|
|
|
* PROJECT: ReactOS Boot Loader
|
|
|
|
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
|
|
|
* FILE: boot/armllb/inc/osloader.h
|
|
|
|
* PURPOSE: Shared header between LLB and OS Loader
|
|
|
|
* PROGRAMMERS: ReactOS Portable Systems Group
|
|
|
|
*/
|
|
|
|
|
|
|
|
//
|
|
|
|
// OS Loader Main Routine
|
|
|
|
//
|
|
|
|
typedef
|
2010-02-02 00:14:14 +00:00
|
|
|
VOID (*POSLOADER_INIT)(
|
2010-02-01 18:33:24 +00:00
|
|
|
IN PVOID BoardInit
|
|
|
|
);
|
|
|
|
|
2010-02-02 17:21:19 +00:00
|
|
|
#ifndef __REGISTRY_H
|
2010-02-01 18:33:24 +00:00
|
|
|
//
|
|
|
|
// Type of memory detected by LLB
|
|
|
|
//
|
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
BiosMemoryUsable = 1,
|
|
|
|
BiosMemoryBootLoader,
|
|
|
|
BiosMemoryBootStrap,
|
|
|
|
BiosMemoryReserved
|
|
|
|
} BIOS_MEMORY_TYPE;
|
|
|
|
|
|
|
|
//
|
|
|
|
// Firmware Memory Map
|
|
|
|
//
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
LONGLONG BaseAddress;
|
|
|
|
LONGLONG Length;
|
|
|
|
ULONG Type;
|
|
|
|
ULONG Reserved;
|
|
|
|
} BIOS_MEMORY_MAP, *PBIOS_MEMORY_MAP;
|
2010-02-02 17:21:19 +00:00
|
|
|
#endif
|
2010-02-01 18:33:24 +00:00
|
|
|
|
|
|
|
//
|
|
|
|
// Information sent from LLB to OS Loader
|
|
|
|
//
|
|
|
|
#define ARM_BOARD_CONFIGURATION_MAJOR_VERSION 1
|
2010-02-04 06:44:06 +00:00
|
|
|
#define ARM_BOARD_CONFIGURATION_MINOR_VERSION 4
|
2010-02-01 18:33:24 +00:00
|
|
|
typedef struct _ARM_BOARD_CONFIGURATION_BLOCK
|
|
|
|
{
|
|
|
|
ULONG MajorVersion;
|
|
|
|
ULONG MinorVersion;
|
|
|
|
ULONG BoardType;
|
|
|
|
ULONG ClockRate;
|
|
|
|
ULONG TimerRegisterBase;
|
|
|
|
ULONG UartRegisterBase;
|
|
|
|
ULONG MemoryMapEntryCount;
|
|
|
|
PBIOS_MEMORY_MAP MemoryMap;
|
|
|
|
CHAR CommandLine[256];
|
2010-02-02 17:21:19 +00:00
|
|
|
PVOID ConsPutChar;
|
|
|
|
PVOID ConsKbHit;
|
|
|
|
PVOID ConsGetCh;
|
2010-02-04 05:43:02 +00:00
|
|
|
PVOID VideoClearScreen;
|
|
|
|
PVOID VideoSetDisplayMode;
|
|
|
|
PVOID VideoGetDisplaySize;
|
|
|
|
PVOID VideoGetBufferSize;
|
|
|
|
PVOID VideoSetTextCursorPosition;
|
|
|
|
PVOID VideoHideShowTextCursor;
|
|
|
|
PVOID VideoPutChar;
|
|
|
|
PVOID VideoCopyOffScreenBufferToVRAM;
|
|
|
|
PVOID VideoIsPaletteFixed;
|
|
|
|
PVOID VideoSetPaletteColor;
|
|
|
|
PVOID VideoGetPaletteColor;
|
|
|
|
PVOID VideoSync;
|
2010-02-04 06:44:06 +00:00
|
|
|
PVOID GetTime;
|
2010-02-01 18:33:24 +00:00
|
|
|
} ARM_BOARD_CONFIGURATION_BLOCK, *PARM_BOARD_CONFIGURATION_BLOCK;
|
|
|
|
|
2010-02-02 00:14:14 +00:00
|
|
|
VOID
|
|
|
|
NTAPI
|
|
|
|
LlbAllocateMemoryEntry(
|
|
|
|
IN BIOS_MEMORY_TYPE Type,
|
|
|
|
IN ULONG BaseAddress,
|
|
|
|
IN ULONG Length
|
|
|
|
);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
NTAPI
|
|
|
|
LlbSetCommandLine(
|
|
|
|
IN PCHAR CommandLine
|
|
|
|
);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
NTAPI
|
|
|
|
LlbBuildArmBlock(
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
NTAPI
|
|
|
|
LlbBuildMemoryMap(
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
NTAPI
|
|
|
|
LlbLoadOsLoader(
|
|
|
|
VOID
|
|
|
|
);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
NTAPI
|
|
|
|
LlbBoot(
|
2010-02-03 23:17:16 +00:00
|
|
|
VOID
|
2010-02-02 00:14:14 +00:00
|
|
|
);
|
|
|
|
|
2010-02-01 18:33:24 +00:00
|
|
|
/* EOF */
|