/* * 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 VOID (*POSLOADER_INIT)( IN PVOID BoardInit ); // // 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; // // Information sent from LLB to OS Loader // #define ARM_BOARD_CONFIGURATION_MAJOR_VERSION 1 #define ARM_BOARD_CONFIGURATION_MINOR_VERSION 4 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]; PVOID ConsPutChar; PVOID ConsKbHit; PVOID ConsGetCh; PVOID VideoClearScreen; PVOID VideoSetDisplayMode; PVOID VideoGetDisplaySize; PVOID VideoGetBufferSize; PVOID VideoSetTextCursorPosition; PVOID VideoHideShowTextCursor; PVOID VideoPutChar; PVOID VideoCopyOffScreenBufferToVRAM; PVOID VideoIsPaletteFixed; PVOID VideoSetPaletteColor; PVOID VideoGetPaletteColor; PVOID VideoSync; PVOID GetTime; } ARM_BOARD_CONFIGURATION_BLOCK, *PARM_BOARD_CONFIGURATION_BLOCK; 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( VOID ); /* EOF */