Add definitions for pool management structures
This commit is contained in:
@@ -110,6 +110,12 @@
|
||||
/* Trampoline code address */
|
||||
#define MM_TRAMPOLINE_ADDRESS 0x80000
|
||||
|
||||
/* Pool block size */
|
||||
#define MM_POOL_BLOCK_SIZE 16
|
||||
|
||||
/* Number of pool lists per page */
|
||||
#define MM_POOL_LISTS_PER_PAGE (MM_PAGE_SIZE / MM_POOL_BLOCK_SIZE)
|
||||
|
||||
/* Page size enumeration list */
|
||||
typedef enum _PAGE_SIZE
|
||||
{
|
||||
@@ -317,4 +323,22 @@ typedef struct _MMPFN
|
||||
} u4;
|
||||
} MMPFN, *PMMPFN;
|
||||
|
||||
/* Pool descriptor structure definition */
|
||||
typedef struct _POOL_DESCRIPTOR
|
||||
{
|
||||
LIST_ENTRY ListHeads[MM_POOL_LISTS_PER_PAGE];
|
||||
PVOID LockAddress;
|
||||
ULONG PoolIndex;
|
||||
LONG PendingFreeDepth;
|
||||
PVOID PendingFrees;
|
||||
MMPOOL_TYPE PoolType;
|
||||
ULONG RunningFrees;
|
||||
ULONG RunningAllocations;
|
||||
ULONG Threshold;
|
||||
ULONG TotalPages;
|
||||
ULONG TotalBigAllocations;
|
||||
SIZE_T TotalBytes;
|
||||
SIZE_T Reserved;
|
||||
} POOL_DESCRIPTOR, *PPOOL_DESCRIPTOR;
|
||||
|
||||
#endif /* __XTDK_AMD64_MMTYPES_H */
|
||||
|
||||
@@ -61,6 +61,7 @@ typedef struct _MMPTE_PROTOTYPE MMPTE_PROTOTYPE, *PMMPTE_PROTOTYPE;
|
||||
typedef struct _MMPTE_SOFTWARE MMPTE_SOFTWARE, *PMMPTE_SOFTWARE;
|
||||
typedef struct _MMPTE_SUBSECTION MMPTE_SUBSECTION, *PMMPTE_SUBSECTION;
|
||||
typedef struct _MMPTE_TRANSITION MMPTE_TRANSITION, *PMMPTE_TRANSITION;
|
||||
typedef struct _POOL_DESCRIPTOR POOL_DESCRIPTOR, *PPOOL_DESCRIPTOR;
|
||||
typedef struct _THREAD_ENVIRONMENT_BLOCK THREAD_ENVIRONMENT_BLOCK, *PTHREAD_ENVIRONMENT_BLOCK;
|
||||
|
||||
/* Unions forward references */
|
||||
|
||||
Reference in New Issue
Block a user