ReactOS  0.4.15-dev-5142-g967f5b9
mmtypes.h
Go to the documentation of this file.
1 
2 #ifndef _ARM64_MMTYPES_H
3 #define _ARM64_MMTYPES_H
4 
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8 
9 //
10 // Page-related Macros
11 //
12 #ifndef PAGE_SIZE
13 #define PAGE_SIZE 0x1000
14 #endif
15 #define PAGE_SHIFT 12L
16 #define MM_ALLOCATION_GRANULARITY 0x10000
17 #define MM_ALLOCATION_GRANULARITY_SHIFT 16L
18 #define MM_PAGE_FRAME_NUMBER_SIZE 20
19 
20 /* Following structs are based on WoA symbols */
21 typedef struct _HARDWARE_PTE
22 {
23  /* 8 Byte struct */
24  ULONG64 Valid:1;
29  ULONG64 Owner:1;
32  ULONG64 Accessed:1;
47 
48 typedef struct _MMPTE_SOFTWARE
49 {
50  /* 8 Byte struct */
51  ULONG64 Valid:1;
64 
65 typedef struct _MMPTE_TRANSITION
66 {
67  /* 8 Byte struct */
68  ULONG64 Valid:1;
78 
79 typedef struct _MMPTE_PROTOTYPE
80 {
81  /* 8 Byte struct */
82  ULONG64 Valid:1;
85  ULONG64 Unused1:1;
86  ULONG64 ReadOnly:1;
93 
94 typedef struct _MMPTE_SUBSECTION
95 {
96  /* 8 Byte struct */
97  ULONG64 Valid:1;
101  ULONG64 Prototype:1;
106 
107 typedef struct _MMPTE_TIMESTAMP
108 {
109  /* 8 Byte struct */
118 
119 typedef struct _MMPTE_LIST
120 {
121  /* 8 Byte struct */
122  ULONG64 Valid:1;
124  ULONG64 OneEntry:1;
126  ULONG64 Prototype:1;
129  ULONG64 NextEntry:36;
130 } MMPTE_LIST;
131 
132 typedef struct _MMPTE
133 {
134  union
135  {
136  ULONG_PTR Long;
144  } u;
145 } MMPTE, *PMMPTE;
146 
147 #ifdef __cplusplus
148 }; // extern "C"
149 #endif
150 
151 #endif
ULONG64 Valid
Definition: mmtypes.h:66
ULONG64 CacheType
Definition: mmtypes.h:26
ULONG64 RsvdZ1
Definition: mmtypes.h:61
ULONG64 ProtoAddress
Definition: mmtypes.h:91
ULONG64 NonGlobal
Definition: mmtypes.h:33
union _MMPTE::@2285 u
ULONG64 Valid
Definition: mmtypes.h:117
ULONG64 UxnTable
Definition: mmtypes.h:43
ULONG64 NextEntry
Definition: mmtypes.h:145
ULONG64 UserNoExecute
Definition: mmtypes.h:38
struct _MMPTE_TRANSITION MMPTE_TRANSITION
ULONG64 OneEntry
Definition: mmtypes.h:139
ULONG64 Owner
Definition: mmtypes.h:68
ULONG64 Transition
Definition: mmtypes.h:114
ULONG64 IoTracker
Definition: mmtypes.h:72
ULONG64 Protection
Definition: mmtypes.h:130
ULONG64 Shareability
Definition: mmtypes.h:31
ULONG64 PageFrameNumber
Definition: mmtypes.h:107
HARDWARE_PTE Flush
Definition: mmtypes.h:216
ULONG64 RsvdZ2
Definition: mmtypes.h:103
ULONG64 PrivilegedNoExecute
Definition: mmtypes.h:37
ULONG64 Transition
Definition: mmtypes.h:105
ULONG64 Transition
Definition: mmtypes.h:143
ULONG64 CopyOnWrite
Definition: mmtypes.h:75
ULONG64 ColdPage
Definition: mmtypes.h:59
ULONG64 Protection
Definition: mmtypes.h:122
ULONG64 Valid
Definition: mmtypes.h:128
ULONG64 Combined
Definition: mmtypes.h:87
ULONG64 RsvdZ1
Definition: mmtypes.h:76
ULONG64 SubsectionAddress
Definition: mmtypes.h:104
ULONG64 Protection
Definition: mmtypes.h:111
uint32_t ULONG_PTR
Definition: typedefs.h:65
ULONG64 NonSecure
Definition: mmtypes.h:28
ULONG64 ColdPage
Definition: mmtypes.h:102
struct _MMPTE_SUBSECTION MMPTE_SUBSECTION
ULONG64 RsvdZ1
Definition: mmtypes.h:115
struct _HARDWARE_PTE * PHARDWARE_PTE
ULONG64 ContigousBit
Definition: mmtypes.h:36
ULONG64 MustBeZero
Definition: mmtypes.h:110
ULONG64 RsvdZ1
Definition: mmtypes.h:125
struct _HARDWARE_PTE HARDWARE_PTE
ULONG64 Valid
Definition: mmtypes.h:138
ULONG64 Writable
Definition: mmtypes.h:39
ULONG64 DemandFillProto
Definition: mmtypes.h:89
ULONG64 Protection
Definition: mmtypes.h:88
ULONG64 PageFileLow
Definition: mmtypes.h:112
ULONG64 RsvdZ1
Definition: mmtypes.h:100
MMPTE_TRANSITION Trans
Definition: mmtypes.h:220
ULONG64 UsedPageTableEntries
Definition: mmtypes.h:91
MMPTE_LIST List
Definition: mmtypes.h:222
ULONG64 Prototype
Definition: mmtypes.h:131
struct _MMPTE * PMMPTE
ULONG64 OsAvailable
Definition: mmtypes.h:41
ULONG64 PageFileLow
Definition: mmtypes.h:87
ULONG64 RsvdZ1
Definition: mmtypes.h:90
ULONG64 OsAvailable2
Definition: mmtypes.h:27
ULONG64 Prototype
Definition: mmtypes.h:104
ULONG64 NotLargePage
Definition: mmtypes.h:25
unsigned __int64 ULONG64
Definition: imports.h:198
struct _MMPTE_SOFTWARE MMPTE_SOFTWARE
ULONG64 PageFrameNumber
Definition: mmtypes.h:78
ULONG64 GlobalTimeStamp
Definition: mmtypes.h:116
ULONG64 PageFileHigh
Definition: mmtypes.h:93
ULONG64 Prototype
Definition: mmtypes.h:89
ULONG64 Valid
Definition: mmtypes.h:86
ULONG64 PageFileAllocated
Definition: mmtypes.h:57
struct _MMPTE_LIST MMPTE_LIST
ULONG_PTR Long
Definition: mmtypes.h:215
ULONG64 NotDirty
Definition: mmtypes.h:30
ULONG64 NsTable
Definition: mmtypes.h:45
ULONG64 Valid
Definition: mmtypes.h:98
ULONG64 Accessed
Definition: mmtypes.h:71
ULONG64 Protection
Definition: mmtypes.h:141
struct _MMPTE_PROTOTYPE MMPTE_PROTOTYPE
ULONG64 Transition
Definition: mmtypes.h:90
ULONG64 PxnTable
Definition: mmtypes.h:42
ULONG64 Spare
Definition: mmtypes.h:70
MMPTE_SOFTWARE Soft
Definition: mmtypes.h:219
struct _MMPTE MMPTE
struct _MMPTE_TIMESTAMP MMPTE_TIMESTAMP
ULONG64 RsvdZ1
Definition: mmtypes.h:35
ULONG64 OnStandbyLookaside
Definition: mmtypes.h:99
ULONG64 Unused1
Definition: mmtypes.h:120
ULONG64 Prototype
Definition: mmtypes.h:121
ULONG64 RsvdZ2
Definition: mmtypes.h:128
ULONG64 ReadOnly
Definition: mmtypes.h:119
HARDWARE_PTE Hard
Definition: mmtypes.h:138
ULONG64 HiberVerifyConverted
Definition: mmtypes.h:84
ULONG64 OnStandbyLookaside
Definition: mmtypes.h:60
ULONG64 ApTable
Definition: mmtypes.h:44
MMPTE_SUBSECTION Subsect
Definition: mmtypes.h:221
ULONG64 Prototype
Definition: mmtypes.h:142
ULONG64 PageFileReserved
Definition: mmtypes.h:56
ULONG64 Protection
Definition: mmtypes.h:103
MMPTE_PROTOTYPE Proto
Definition: mmtypes.h:218
ULONG64 OnStandbyLookaside
Definition: mmtypes.h:71
ULONG64 Prototype
Definition: mmtypes.h:113