- 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
} 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

View 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

View 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

View 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
//