- Move _MMPTE definition to arch specific files
- Fix _MMPTE_HARDWARE on arm (struct, not union!)

svn path=/trunk/; revision=67469
This commit is contained in:
Timo Kreuzer 2015-04-28 21:26:15 +00:00
parent 0a97d41371
commit a129e1c53e
4 changed files with 57 additions and 25 deletions

View file

@ -208,6 +208,24 @@ typedef struct _MMPTE_HARDWARE_LARGEPAGE
#endif #endif
} MMPTE_HARDWARE_LARGEPAGE, *PMMPTE_HARDWARE_LARGEPAGE; } 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 #ifdef __cplusplus
}; // extern "C" }; // extern "C"
#endif #endif

View file

@ -164,7 +164,7 @@ typedef struct _MMPTE_LIST
ULONG Prototype:1; ULONG Prototype:1;
} MMPTE_LIST; } MMPTE_LIST;
typedef union _MMPTE_HARDWARE typedef struct _MMPTE_HARDWARE
{ {
ULONG NoExecute:1; ULONG NoExecute:1;
ULONG Valid:1; ULONG Valid:1;
@ -179,6 +179,28 @@ typedef union _MMPTE_HARDWARE
ULONG PageFrameNumber:20; ULONG PageFrameNumber:20;
} MMPTE_HARDWARE, *PMMPTE_HARDWARE; } 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 typedef union _MMPDE_HARDWARE
{ {
ULONG Valid:1; ULONG Valid:1;
@ -200,12 +222,6 @@ typedef struct _MMPDE
} u; } u;
} MMPDE, *PMMPDE; } MMPDE, *PMMPDE;
//
// Use the right PTE structure
//
#define HARDWARE_PTE HARDWARE_PTE_ARMV6
#define PHARDWARE_PTE PHARDWARE_PTE_ARMV6
#ifdef __cplusplus #ifdef __cplusplus
}; // extern "C" }; // extern "C"
#endif #endif

View file

@ -181,6 +181,22 @@ typedef struct _MMPTE_HARDWARE
#define HARDWARE_PTE HARDWARE_PTE_X86 #define HARDWARE_PTE HARDWARE_PTE_X86
#define PHARDWARE_PTE PHARDWARE_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 #ifdef __cplusplus
}; // extern "C" }; // extern "C"
#endif #endif

View file

@ -376,24 +376,6 @@ typedef struct _SECTION_IMAGE_INFORMATION
#ifndef NTOS_MODE_USER #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 // Section Extension Information
// //