From a129e1c53e5a286529d0b67e3a6f645816485070 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Tue, 28 Apr 2015 21:26:15 +0000 Subject: [PATCH] [NDK] - 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 | 18 +++++++++++++++++ reactos/include/ndk/arm/mmtypes.h | 30 ++++++++++++++++++++++------- reactos/include/ndk/i386/mmtypes.h | 16 +++++++++++++++ reactos/include/ndk/mmtypes.h | 18 ----------------- 4 files changed, 57 insertions(+), 25 deletions(-) diff --git a/reactos/include/ndk/amd64/mmtypes.h b/reactos/include/ndk/amd64/mmtypes.h index 49c7b6374bd..eed22c6ae37 100644 --- a/reactos/include/ndk/amd64/mmtypes.h +++ b/reactos/include/ndk/amd64/mmtypes.h @@ -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 diff --git a/reactos/include/ndk/arm/mmtypes.h b/reactos/include/ndk/arm/mmtypes.h index 709dcacd78d..af6e8d4f7c1 100644 --- a/reactos/include/ndk/arm/mmtypes.h +++ b/reactos/include/ndk/arm/mmtypes.h @@ -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 diff --git a/reactos/include/ndk/i386/mmtypes.h b/reactos/include/ndk/i386/mmtypes.h index cea2b954eca..238a1cdf9bc 100644 --- a/reactos/include/ndk/i386/mmtypes.h +++ b/reactos/include/ndk/i386/mmtypes.h @@ -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 diff --git a/reactos/include/ndk/mmtypes.h b/reactos/include/ndk/mmtypes.h index 47d99be68be..2e96dcad3e7 100644 --- a/reactos/include/ndk/mmtypes.h +++ b/reactos/include/ndk/mmtypes.h @@ -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 //