ReactOS
0.4.16-dev-838-g27bb510
hardware.h
Go to the documentation of this file.
1
/*
2
* PROJECT: ReactOS Boot Loader
3
* LICENSE: BSD - See COPYING.ARM in the top level directory
4
* FILE: boot/freeldr/freeldr/include/arch/arm/hardware.h
5
* PURPOSE: Header for ARC definitions (to be cleaned up)
6
* PROGRAMMERS: ReactOS Portable Systems Group
7
*/
8
9
#pragma once
10
11
#ifndef __REGISTRY_H
12
//#include "../../reactos/registry.h"
13
#endif
14
15
#include "../../../../../armllb/inc/osloader.h"
16
#include "../../../../../armllb/inc/machtype.h"
17
18
#define FREELDR_BASE 0x0001F000
19
#define FREELDR_PE_BASE 0x0001F000
20
#define MAX_FREELDR_PE_SIZE 0xFFFFFF
21
22
extern
PARM_BOARD_CONFIGURATION_BLOCK
ArmBoardBlock
;
23
extern
ULONG
FirstLevelDcacheSize
;
24
extern
ULONG
FirstLevelDcacheFillSize
;
25
extern
ULONG
FirstLevelIcacheSize
;
26
extern
ULONG
FirstLevelIcacheFillSize
;
27
extern
ULONG
SecondLevelDcacheSize
;
28
extern
ULONG
SecondLevelDcacheFillSize
;
29
extern
ULONG
SecondLevelIcacheSize
;
30
extern
ULONG
SecondLevelIcacheFillSize
;
31
32
extern
ULONG
gDiskReadBuffer
,
gFileSysBuffer
;
33
#define DiskReadBuffer ((PVOID)gDiskReadBuffer)
34
35
#define DriveMapGetBiosDriveNumber(DeviceName) 0
36
37
DECLSPEC_NORETURN
38
FORCEINLINE
VOID
Reboot
(
VOID
)
39
{
40
DbgBreakPoint
();
41
}
42
43
typedef
struct
_PAGE_TABLE_ARM
44
{
45
HARDWARE_PTE_ARMV6
Pte
[1024];
46
}
PAGE_TABLE_ARM
, *
PPAGE_TABLE_ARM
;
47
C_ASSERT
(
sizeof
(
PAGE_TABLE_ARM
) ==
PAGE_SIZE
);
48
49
typedef
struct
_PAGE_DIRECTORY_ARM
50
{
51
union
52
{
53
HARDWARE_PDE_ARMV6
Pde
[4096];
54
HARDWARE_LARGE_PTE_ARMV6
Pte
[4096];
55
};
56
}
PAGE_DIRECTORY_ARM
, *
PPAGE_DIRECTORY_ARM
;
57
C_ASSERT
(
sizeof
(
PAGE_DIRECTORY_ARM
) == (4 *
PAGE_SIZE
));
58
59
// FIXME: sync with NDK
60
typedef
enum
_ARM_DOMAIN
61
{
62
FaultDomain
,
63
ClientDomain
,
64
InvalidDomain
,
65
ManagerDomain
66
}
ARM_DOMAIN
;
67
68
#define PDE_SHIFT 20
Reboot
@ Reboot
Definition:
bl.h:891
ArmBoardBlock
PARM_BOARD_CONFIGURATION_BLOCK ArmBoardBlock
Definition:
macharm.c:16
_ARM_DOMAIN
_ARM_DOMAIN
Definition:
hardware.h:61
ManagerDomain
@ ManagerDomain
Definition:
hardware.h:65
ClientDomain
@ ClientDomain
Definition:
hardware.h:63
FaultDomain
@ FaultDomain
Definition:
hardware.h:62
InvalidDomain
@ InvalidDomain
Definition:
hardware.h:64
FirstLevelIcacheFillSize
ULONG FirstLevelIcacheFillSize
Definition:
macharm.c:28
gFileSysBuffer
ULONG gFileSysBuffer
Definition:
hardware.h:32
PPAGE_TABLE_ARM
struct _PAGE_TABLE_ARM * PPAGE_TABLE_ARM
PAGE_DIRECTORY_ARM
struct _PAGE_DIRECTORY_ARM PAGE_DIRECTORY_ARM
SecondLevelDcacheSize
ULONG SecondLevelDcacheSize
Definition:
macharm.c:29
FirstLevelDcacheFillSize
ULONG FirstLevelDcacheFillSize
Definition:
macharm.c:26
PAGE_TABLE_ARM
struct _PAGE_TABLE_ARM PAGE_TABLE_ARM
gDiskReadBuffer
ULONG gDiskReadBuffer
Definition:
macharm.c:17
FirstLevelIcacheSize
ULONG FirstLevelIcacheSize
Definition:
macharm.c:27
SecondLevelIcacheSize
ULONG SecondLevelIcacheSize
Definition:
macharm.c:31
SecondLevelIcacheFillSize
ULONG SecondLevelIcacheFillSize
Definition:
macharm.c:32
ARM_DOMAIN
enum _ARM_DOMAIN ARM_DOMAIN
FirstLevelDcacheSize
ULONG FirstLevelDcacheSize
Definition:
macharm.c:25
SecondLevelDcacheFillSize
ULONG SecondLevelDcacheFillSize
Definition:
macharm.c:30
PPAGE_DIRECTORY_ARM
struct _PAGE_DIRECTORY_ARM * PPAGE_DIRECTORY_ARM
PAGE_SIZE
#define PAGE_SIZE
Definition:
env_spec_w32.h:49
DbgBreakPoint
NTSYSAPI void WINAPI DbgBreakPoint(void)
void
Definition:
nsiface.idl:2307
C_ASSERT
#define C_ASSERT(e)
Definition:
intsafe.h:73
DECLSPEC_NORETURN
#define DECLSPEC_NORETURN
Definition:
ntbasedef.h:176
_ARM_BOARD_CONFIGURATION_BLOCK
Definition:
osloader.h:45
_HARDWARE_LARGE_PTE_ARMV6
Definition:
mmtypes.h:78
_HARDWARE_PDE_ARMV6
Definition:
mmtypes.h:66
_HARDWARE_PTE_ARMV6
Definition:
mmtypes.h:98
_PAGE_DIRECTORY_ARM
Definition:
hardware.h:50
_PAGE_DIRECTORY_ARM::Pte
HARDWARE_LARGE_PTE_ARMV6 Pte[4096]
Definition:
hardware.h:54
_PAGE_DIRECTORY_ARM::Pde
HARDWARE_PDE_ARMV6 Pde[4096]
Definition:
hardware.h:53
_PAGE_TABLE_ARM
Definition:
hardware.h:44
_PAGE_TABLE_ARM::Pte
HARDWARE_PTE_ARMV6 Pte[1024]
Definition:
hardware.h:45
ULONG
uint32_t ULONG
Definition:
typedefs.h:59
FORCEINLINE
#define FORCEINLINE
Definition:
wdftypes.h:67
boot
freeldr
freeldr
include
arch
arm
hardware.h
Generated on Fri Mar 21 2025 06:13:12 for ReactOS by
1.9.6