Update memory manager type definitions and constants
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 32s
Builds / ExectOS (amd64, release) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 27s
Builds / ExectOS (i686, debug) (push) Successful in 29s

This commit is contained in:
2025-12-23 12:04:43 +01:00
parent f0a06db7d2
commit 560cd43b34
4 changed files with 31 additions and 3 deletions

View File

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

View File

@@ -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;

View File

@@ -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
{ {

View File

@@ -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;