[NTOSKRNL/FREELDR/NDK]
[reactos.git] / reactos / boot / freeldr / freeldr / include / arch / arm / hardware.h
index 4466c96..67d1f9a 100644 (file)
@@ -9,20 +9,15 @@
 #pragma once
 
 #ifndef __REGISTRY_H
-#include "../../reactos/registry.h"
+//#include "../../reactos/registry.h"
 #endif
 
 #include "../../../../../armllb/inc/osloader.h"
 #include "../../../../../armllb/inc/machtype.h"
 
-//
-// ARC Component Configuration Routines
-//
-VOID
-NTAPI
-FldrCreateSystemKey(
-    OUT PCONFIGURATION_COMPONENT_DATA *SystemKey
-);
+#define FREELDR_BASE       0x0001F000
+#define FREELDR_PE_BASE    0x0001F000
+#define MAX_FREELDR_PE_SIZE 0xFFFFFF
 
 extern PARM_BOARD_CONFIGURATION_BLOCK ArmBoardBlock;
 extern ULONG FirstLevelDcacheSize;
@@ -35,4 +30,38 @@ extern ULONG SecondLevelIcacheSize;
 extern ULONG SecondLevelIcacheFillSize;
 
 extern ULONG gDiskReadBuffer, gFileSysBuffer;
-#define DISKREADBUFFER gDiskReadBuffer
+#define DiskReadBuffer ((PVOID)gDiskReadBuffer)
+
+#define DriveMapGetBiosDriveNumber(DeviceName) 0
+
+FORCEINLINE VOID Reboot(VOID)
+{
+    DbgBreakPoint();
+}
+
+typedef struct _PAGE_TABLE_ARM
+{
+    HARDWARE_PTE_ARMV6 Pte[1024];
+} PAGE_TABLE_ARM, *PPAGE_TABLE_ARM;
+C_ASSERT(sizeof(PAGE_TABLE_ARM) == PAGE_SIZE);
+
+typedef struct _PAGE_DIRECTORY_ARM
+{
+    union
+    {
+        HARDWARE_PDE_ARMV6 Pde[4096];
+        HARDWARE_LARGE_PTE_ARMV6 Pte[4096];
+    };
+} PAGE_DIRECTORY_ARM, *PPAGE_DIRECTORY_ARM;
+C_ASSERT(sizeof(PAGE_DIRECTORY_ARM) == (4 * PAGE_SIZE));
+
+// FIXME: sync with NDK
+typedef enum _ARM_DOMAIN
+{
+    FaultDomain,
+    ClientDomain,
+    InvalidDomain,
+    ManagerDomain
+} ARM_DOMAIN;
+
+#define PDE_SHIFT 20