2 * PROJECT: ReactOS Boot Loader
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: boot/freeldr/include/arch/arm/hardware.h
5 * PURPOSE: Header for ARC definitions (to be cleaned up)
6 * PROGRAMMERS: ReactOS Portable Systems Group
10 #define __ARM_HARDWARE_
13 #include "../../reactos/registry.h"
17 // The only things we support
19 typedef enum _ARM_BOARD_TYPE
22 // Marvell Feroceon-based SoC:
23 // Buffalo Linkstation, KuroBox Pro, D-Link DS323 and others
29 // Compatible boot-loaders should return us this information
31 #define ARM_BOARD_CONFIGURATION_MAJOR_VERSION 1
32 #define ARM_BOARD_CONFIGURATION_MINOR_VERSION 1
33 typedef struct _ARM_BOARD_CONFIGURATION_BLOCK
37 ARM_BOARD_TYPE BoardType
;
39 ULONG TimerRegisterBase
;
40 ULONG UartRegisterBase
;
41 PBIOS_MEMORY_MAP MemoryMap
;
42 CHAR CommandLine
[256];
43 } ARM_BOARD_CONFIGURATION_BLOCK
, *PARM_BOARD_CONFIGURATION_BLOCK
;
46 // Static heap for ARC Hardware Component Tree
47 // 16KB oughta be enough for anyone.
49 #define HW_MAX_ARC_HEAP_SIZE 16 * 1024
52 // ARC Component Configuration Routines
56 FldrSetComponentInformation(
57 IN PCONFIGURATION_COMPONENT_DATA ComponentKey
,
58 IN IDENTIFIER_FLAG Flags
,
66 IN PCONFIGURATION_COMPONENT_DATA ComponentKey
,
73 OUT PCONFIGURATION_COMPONENT_DATA
*SystemKey
78 FldrCreateComponentKey(
79 IN PCONFIGURATION_COMPONENT_DATA SystemKey
,
82 IN CONFIGURATION_CLASS Class
,
83 IN CONFIGURATION_TYPE Type
,
84 OUT PCONFIGURATION_COMPONENT_DATA
*ComponentKey
89 FldrSetConfigurationData(
90 IN PCONFIGURATION_COMPONENT_DATA ComponentKey
,
91 IN PCM_PARTIAL_RESOURCE_LIST ResourceList
,
96 ArmFeroSerialInit(IN ULONG Baudrate
);
99 ArmFeroPutChar(IN INT Char
);
107 extern PARM_BOARD_CONFIGURATION_BLOCK ArmBoardBlock
;