Update memory manager type definitions and constants
This commit is contained in:
@@ -73,6 +73,9 @@
|
|||||||
#define MM_PTE_PROTOTYPE 0x0000000000000400ULL
|
#define MM_PTE_PROTOTYPE 0x0000000000000400ULL
|
||||||
#define MM_PTE_TRANSITION 0x0000000000000800ULL
|
#define MM_PTE_TRANSITION 0x0000000000000800ULL
|
||||||
|
|
||||||
|
/* PTE frame bits */
|
||||||
|
#define MM_PTE_FRAME_BITS 57
|
||||||
|
|
||||||
/* PTE protection bits */
|
/* PTE protection bits */
|
||||||
#define MM_PTE_PROTECTION_BITS 5
|
#define MM_PTE_PROTECTION_BITS 5
|
||||||
|
|
||||||
|
|||||||
@@ -69,6 +69,9 @@
|
|||||||
#define MM_PTE_PROTOTYPE 0x00000400
|
#define MM_PTE_PROTOTYPE 0x00000400
|
||||||
#define MM_PTE_TRANSITION 0x00000800
|
#define MM_PTE_TRANSITION 0x00000800
|
||||||
|
|
||||||
|
/* PTE frame bits */
|
||||||
|
#define MM_PTE_FRAME_BITS 25
|
||||||
|
|
||||||
/* PTE protection bits */
|
/* PTE protection bits */
|
||||||
#define MM_PTE_PROTECTION_BITS 5
|
#define MM_PTE_PROTECTION_BITS 5
|
||||||
|
|
||||||
@@ -386,6 +389,7 @@ typedef struct _MMPFN
|
|||||||
USHORT ReferenceCount;
|
USHORT ReferenceCount;
|
||||||
} e2;
|
} e2;
|
||||||
} u3;
|
} u3;
|
||||||
|
ULONG UsedPageTableEntries;
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
MMPTE OriginalPte;
|
MMPTE OriginalPte;
|
||||||
@@ -396,12 +400,11 @@ typedef struct _MMPFN
|
|||||||
ULONG_PTR EntireFrame;
|
ULONG_PTR EntireFrame;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
ULONG_PTR PteFrame:26;
|
ULONG_PTR PteFrame:25;
|
||||||
ULONG_PTR InPageError:1;
|
ULONG_PTR InPageError:1;
|
||||||
ULONG_PTR VerifierAllocation:1;
|
ULONG_PTR VerifierAllocation:1;
|
||||||
ULONG_PTR AweAllocation:1;
|
ULONG_PTR AweAllocation:1;
|
||||||
ULONG_PTR LockCharged:1;
|
ULONG_PTR Priority:3;
|
||||||
ULONG_PTR KernelStack:1;
|
|
||||||
ULONG_PTR MustBeCached:1;
|
ULONG_PTR MustBeCached:1;
|
||||||
};
|
};
|
||||||
} u4;
|
} u4;
|
||||||
|
|||||||
@@ -14,6 +14,18 @@
|
|||||||
#include ARCH_HEADER(xtstruct.h)
|
#include ARCH_HEADER(xtstruct.h)
|
||||||
|
|
||||||
|
|
||||||
|
/* Number of hyper space pages */
|
||||||
|
#define MM_HYPERSPACE_PAGE_COUNT 255
|
||||||
|
|
||||||
|
/* Number of paging colors */
|
||||||
|
#define MM_PAGING_COLORS 64
|
||||||
|
|
||||||
|
/* PTE frame mask definition */
|
||||||
|
#define MM_PFN_PTE_FRAME (((ULONG_PTR)1 << MM_PTE_FRAME_BITS) - 1)
|
||||||
|
|
||||||
|
/* Number of reserved zeroed PTEs */
|
||||||
|
#define MM_RESERVED_ZERO_PTES 32
|
||||||
|
|
||||||
/* Memory manager page lists */
|
/* Memory manager page lists */
|
||||||
typedef enum _MMPAGELISTS
|
typedef enum _MMPAGELISTS
|
||||||
{
|
{
|
||||||
@@ -27,6 +39,15 @@ typedef enum _MMPAGELISTS
|
|||||||
TransitionPage = 7
|
TransitionPage = 7
|
||||||
} MMPAGELISTS, *PMMPAGELISTS;
|
} MMPAGELISTS, *PMMPAGELISTS;
|
||||||
|
|
||||||
|
/* Page cache attributes */
|
||||||
|
typedef enum _MMPFN_CACHE_ATTRIBUTE
|
||||||
|
{
|
||||||
|
PfnNonCached,
|
||||||
|
PfnCached,
|
||||||
|
PfnWriteCombined,
|
||||||
|
PfnNotMapped
|
||||||
|
} MMPFN_CACHE_ATTRIBUTE, *PMMPFN_CACHE_ATTRIBUTE;
|
||||||
|
|
||||||
/* Page table pool types */
|
/* Page table pool types */
|
||||||
typedef enum _MMSYSTEM_PTE_POOL_TYPE
|
typedef enum _MMSYSTEM_PTE_POOL_TYPE
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ typedef enum _KTIMER_TYPE KTIMER_TYPE, *PKTIMER_TYPE;
|
|||||||
typedef enum _KUBSAN_DATA_TYPE KUBSAN_DATA_TYPE, *PKUBSAN_DATA_TYPE;
|
typedef enum _KUBSAN_DATA_TYPE KUBSAN_DATA_TYPE, *PKUBSAN_DATA_TYPE;
|
||||||
typedef enum _LOADER_MEMORY_TYPE LOADER_MEMORY_TYPE, *PLOADER_MEMORY_TYPE;
|
typedef enum _LOADER_MEMORY_TYPE LOADER_MEMORY_TYPE, *PLOADER_MEMORY_TYPE;
|
||||||
typedef enum _MMPAGELISTS MMPAGELISTS, *PMMPAGELISTS;
|
typedef enum _MMPAGELISTS MMPAGELISTS, *PMMPAGELISTS;
|
||||||
|
typedef enum _MMPFN_CACHE_ATTRIBUTE MMPFN_CACHE_ATTRIBUTE, *PMMPFN_CACHE_ATTRIBUTE;
|
||||||
typedef enum _MMSYSTEM_PTE_POOL_TYPE MMSYSTEM_PTE_POOL_TYPE, *PMMSYSTEM_PTE_POOL_TYPE;
|
typedef enum _MMSYSTEM_PTE_POOL_TYPE MMSYSTEM_PTE_POOL_TYPE, *PMMSYSTEM_PTE_POOL_TYPE;
|
||||||
typedef enum _MODE MODE, *PMODE;
|
typedef enum _MODE MODE, *PMODE;
|
||||||
typedef enum _RTL_VARIABLE_TYPE RTL_VARIABLE_TYPE, *PRTL_VARIABLE_TYPE;
|
typedef enum _RTL_VARIABLE_TYPE RTL_VARIABLE_TYPE, *PRTL_VARIABLE_TYPE;
|
||||||
|
|||||||
Reference in New Issue
Block a user