[NDK]
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Tue, 28 Apr 2015 21:26:15 +0000 (21:26 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Tue, 28 Apr 2015 21:26:15 +0000 (21:26 +0000)
- Move _MMPTE definition to arch specific files
- Fix _MMPTE_HARDWARE on arm (struct, not union!)

svn path=/trunk/; revision=67469

reactos/include/ndk/amd64/mmtypes.h
reactos/include/ndk/arm/mmtypes.h
reactos/include/ndk/i386/mmtypes.h
reactos/include/ndk/mmtypes.h

index 49c7b63..eed22c6 100644 (file)
@@ -208,6 +208,24 @@ typedef struct _MMPTE_HARDWARE_LARGEPAGE
 #endif
 } MMPTE_HARDWARE_LARGEPAGE, *PMMPTE_HARDWARE_LARGEPAGE;
 
+typedef struct _MMPTE
+{
+    union
+    {
+        ULONG_PTR Long;
+        HARDWARE_PTE Flush;
+        MMPTE_HARDWARE Hard;
+        MMPTE_PROTOTYPE Proto;
+        MMPTE_SOFTWARE Soft;
+        MMPTE_TRANSITION Trans;
+        MMPTE_SUBSECTION Subsect;
+        MMPTE_LIST List;
+    } u;
+} MMPTE, *PMMPTE,
+  MMPDE, *PMMPDE,
+  MMPPE, *PMMPPE,
+  MMPXE, *PMMPXE;
+
 #ifdef __cplusplus
 }; // extern "C"
 #endif
index 709dcac..af6e8d4 100644 (file)
@@ -164,7 +164,7 @@ typedef struct _MMPTE_LIST
     ULONG Prototype:1;
 } MMPTE_LIST;
 
-typedef union _MMPTE_HARDWARE
+typedef struct _MMPTE_HARDWARE
 {
     ULONG NoExecute:1;
     ULONG Valid:1;
@@ -179,6 +179,28 @@ typedef union _MMPTE_HARDWARE
     ULONG PageFrameNumber:20;
 } MMPTE_HARDWARE, *PMMPTE_HARDWARE;
 
+
+//
+// Use the right PTE structure
+//
+#define HARDWARE_PTE        HARDWARE_PTE_ARMV6
+#define PHARDWARE_PTE       PHARDWARE_PTE_ARMV6
+
+typedef struct _MMPTE
+{
+    union
+    {
+        ULONG_PTR Long;
+        HARDWARE_PTE Flush;
+        MMPTE_HARDWARE Hard;
+        MMPTE_PROTOTYPE Proto;
+        MMPTE_SOFTWARE Soft;
+        MMPTE_TRANSITION Trans;
+        MMPTE_SUBSECTION Subsect;
+        MMPTE_LIST List;
+    } u;
+} MMPTE, *PMMPTE;
+
 typedef union _MMPDE_HARDWARE
 {
     ULONG Valid:1;
@@ -200,12 +222,6 @@ typedef struct _MMPDE
     } u;
 } MMPDE, *PMMPDE;
 
-//
-// Use the right PTE structure
-//
-#define HARDWARE_PTE        HARDWARE_PTE_ARMV6
-#define PHARDWARE_PTE       PHARDWARE_PTE_ARMV6
-
 #ifdef __cplusplus
 }; // extern "C"
 #endif
index cea2b95..238a1cd 100644 (file)
@@ -181,6 +181,22 @@ typedef struct _MMPTE_HARDWARE
 #define HARDWARE_PTE        HARDWARE_PTE_X86
 #define PHARDWARE_PTE       PHARDWARE_PTE_X86
 
+typedef struct _MMPTE
+{
+    union
+    {
+        ULONG_PTR Long;
+        HARDWARE_PTE Flush;
+        MMPTE_HARDWARE Hard;
+        MMPTE_PROTOTYPE Proto;
+        MMPTE_SOFTWARE Soft;
+        MMPTE_TRANSITION Trans;
+        MMPTE_SUBSECTION Subsect;
+        MMPTE_LIST List;
+    } u;
+} MMPTE, *PMMPTE,
+  MMPDE, *PMMPDE;
+
 #ifdef __cplusplus
 }; // extern "C"
 #endif
index 47d99be..2e96dca 100644 (file)
@@ -376,24 +376,6 @@ typedef struct _SECTION_IMAGE_INFORMATION
 
 #ifndef NTOS_MODE_USER
 
-//
-// PTE Structures
-//
-typedef struct _MMPTE
-{
-    union
-    {
-        ULONG_PTR Long;
-        HARDWARE_PTE Flush;
-        MMPTE_HARDWARE Hard;
-        MMPTE_PROTOTYPE Proto;
-        MMPTE_SOFTWARE Soft;
-        MMPTE_TRANSITION Trans;
-        MMPTE_SUBSECTION Subsect;
-        MMPTE_LIST List;
-    } u;
-} MMPTE, *PMMPTE;
-
 //
 // Section Extension Information
 //