Replace ULONG with PFN_COUNT in system PTE variables
This commit is contained in:
@@ -22,12 +22,12 @@ namespace MM
|
|||||||
STATIC PMMPTE SystemPteBase;
|
STATIC PMMPTE SystemPteBase;
|
||||||
STATIC PMMPTE SystemPtesEnd[MaximumPtePoolTypes];
|
STATIC PMMPTE SystemPtesEnd[MaximumPtePoolTypes];
|
||||||
STATIC PMMPTE SystemPtesStart[MaximumPtePoolTypes];
|
STATIC PMMPTE SystemPtesStart[MaximumPtePoolTypes];
|
||||||
STATIC ULONG TotalSystemFreePtes[MaximumPtePoolTypes];
|
STATIC PFN_COUNT TotalSystemFreePtes[MaximumPtePoolTypes];
|
||||||
STATIC MMPTE ValidPte;
|
STATIC MMPTE ValidPte;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
STATIC XTAPI BOOLEAN AddressValid(IN PVOID VirtualAddress);
|
STATIC XTAPI BOOLEAN AddressValid(IN PVOID VirtualAddress);
|
||||||
STATIC XTAPI ULONG GetPtesPerPage(VOID);
|
STATIC XTAPI PFN_COUNT GetPtesPerPage(VOID);
|
||||||
STATIC XTAPI PMMPTE GetSystemPteBaseAddress(VOID);
|
STATIC XTAPI PMMPTE GetSystemPteBaseAddress(VOID);
|
||||||
STATIC XTAPI PMMPTE GetValidPte(VOID);
|
STATIC XTAPI PMMPTE GetValidPte(VOID);
|
||||||
STATIC XTAPI VOID InitializePageTable(VOID);
|
STATIC XTAPI VOID InitializePageTable(VOID);
|
||||||
@@ -49,19 +49,19 @@ namespace MM
|
|||||||
PVOID EndAddress,
|
PVOID EndAddress,
|
||||||
PMMPXE TemplatePxe);
|
PMMPXE TemplatePxe);
|
||||||
STATIC XTAPI VOID ReleaseSystemPtes(IN PMMPTE StartingPte,
|
STATIC XTAPI VOID ReleaseSystemPtes(IN PMMPTE StartingPte,
|
||||||
IN ULONG NumberOfPtes,
|
IN PFN_COUNT NumberOfPtes,
|
||||||
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType);
|
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType);
|
||||||
STATIC XTAPI PMMPTE ReserveSystemPtes(IN ULONG NumberOfPtes,
|
STATIC XTAPI PMMPTE ReserveSystemPtes(IN PFN_COUNT NumberOfPtes,
|
||||||
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType);
|
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
STATIC XTAPI BOOLEAN FindFreeCluster(IN ULONG NumberOfPtes,
|
STATIC XTAPI BOOLEAN FindFreeCluster(IN PFN_COUNT NumberOfPtes,
|
||||||
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType,
|
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType,
|
||||||
OUT PMMPTE *FoundCluster,
|
OUT PMMPTE *FoundCluster,
|
||||||
OUT PMMPTE *PreviousClusterNode);
|
OUT PMMPTE *PreviousClusterNode);
|
||||||
STATIC XTAPI ULONG GetClusterSize(IN PMMPTE Pte);
|
STATIC XTAPI ULONG GetClusterSize(IN PMMPTE Pte);
|
||||||
STATIC XTAPI VOID InitializeSystemPtePool(IN PMMPTE StartingPte,
|
STATIC XTAPI VOID InitializeSystemPtePool(IN PMMPTE StartingPte,
|
||||||
IN ULONG NumberOfPtes,
|
IN PFN_COUNT NumberOfPtes,
|
||||||
IN MMSYSTEM_PTE_POOL_TYPE PoolType);
|
IN MMSYSTEM_PTE_POOL_TYPE PoolType);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,12 +22,12 @@ namespace MM
|
|||||||
STATIC PMMPTE SystemPteBase;
|
STATIC PMMPTE SystemPteBase;
|
||||||
STATIC PMMPTE SystemPtesEnd[MaximumPtePoolTypes];
|
STATIC PMMPTE SystemPtesEnd[MaximumPtePoolTypes];
|
||||||
STATIC PMMPTE SystemPtesStart[MaximumPtePoolTypes];
|
STATIC PMMPTE SystemPtesStart[MaximumPtePoolTypes];
|
||||||
STATIC ULONG TotalSystemFreePtes[MaximumPtePoolTypes];
|
STATIC PFN_COUNT TotalSystemFreePtes[MaximumPtePoolTypes];
|
||||||
STATIC MMPTE ValidPte;
|
STATIC MMPTE ValidPte;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
STATIC XTAPI BOOLEAN AddressValid(IN PVOID VirtualAddress);
|
STATIC XTAPI BOOLEAN AddressValid(IN PVOID VirtualAddress);
|
||||||
STATIC XTAPI ULONG GetPtesPerPage(VOID);
|
STATIC XTAPI PFN_COUNT GetPtesPerPage(VOID);
|
||||||
STATIC XTAPI PMMPTE GetSystemPteBaseAddress(VOID);
|
STATIC XTAPI PMMPTE GetSystemPteBaseAddress(VOID);
|
||||||
STATIC XTAPI PMMPTE GetValidPte(VOID);
|
STATIC XTAPI PMMPTE GetValidPte(VOID);
|
||||||
STATIC XTAPI VOID InitializePageTable(VOID);
|
STATIC XTAPI VOID InitializePageTable(VOID);
|
||||||
@@ -43,19 +43,19 @@ namespace MM
|
|||||||
PVOID EndAddress,
|
PVOID EndAddress,
|
||||||
PMMPTE TemplatePte);
|
PMMPTE TemplatePte);
|
||||||
STATIC XTAPI VOID ReleaseSystemPtes(IN PMMPTE StartingPte,
|
STATIC XTAPI VOID ReleaseSystemPtes(IN PMMPTE StartingPte,
|
||||||
IN ULONG NumberOfPtes,
|
IN PFN_COUNT NumberOfPtes,
|
||||||
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType);
|
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType);
|
||||||
STATIC XTAPI PMMPTE ReserveSystemPtes(IN ULONG NumberOfPtes,
|
STATIC XTAPI PMMPTE ReserveSystemPtes(IN PFN_COUNT NumberOfPtes,
|
||||||
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType);
|
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
STATIC XTAPI BOOLEAN FindFreeCluster(IN ULONG NumberOfPtes,
|
STATIC XTAPI BOOLEAN FindFreeCluster(IN PFN_COUNT NumberOfPtes,
|
||||||
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType,
|
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType,
|
||||||
OUT PMMPTE *FoundCluster,
|
OUT PMMPTE *FoundCluster,
|
||||||
OUT PMMPTE *PreviousClusterNode);
|
OUT PMMPTE *PreviousClusterNode);
|
||||||
STATIC XTAPI ULONG GetClusterSize(IN PMMPTE Pte);
|
STATIC XTAPI ULONG GetClusterSize(IN PMMPTE Pte);
|
||||||
STATIC XTAPI VOID InitializeSystemPtePool(IN PMMPTE StartingPte,
|
STATIC XTAPI VOID InitializeSystemPtePool(IN PMMPTE StartingPte,
|
||||||
IN ULONG NumberOfPtes,
|
IN PFN_COUNT NumberOfPtes,
|
||||||
IN MMSYSTEM_PTE_POOL_TYPE PoolType);
|
IN MMSYSTEM_PTE_POOL_TYPE PoolType);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ PMMPTE MM::Pte::SystemPtesEnd[MaximumPtePoolTypes];
|
|||||||
PMMPTE MM::Pte::SystemPtesStart[MaximumPtePoolTypes];
|
PMMPTE MM::Pte::SystemPtesStart[MaximumPtePoolTypes];
|
||||||
|
|
||||||
/* Total count of available System PTEs */
|
/* Total count of available System PTEs */
|
||||||
ULONG MM::Pte::TotalSystemFreePtes[MaximumPtePoolTypes];
|
PFN_COUNT MM::Pte::TotalSystemFreePtes[MaximumPtePoolTypes];
|
||||||
|
|
||||||
/* Template PTE entry containing standard flags for a valid, present kernel page */
|
/* Template PTE entry containing standard flags for a valid, present kernel page */
|
||||||
MMPTE MM::Pte::ValidPte;
|
MMPTE MM::Pte::ValidPte;
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
MM::Pte::FindFreeCluster(IN ULONG NumberOfPtes,
|
MM::Pte::FindFreeCluster(IN PFN_COUNT NumberOfPtes,
|
||||||
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType,
|
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType,
|
||||||
OUT PMMPTE *FoundCluster,
|
OUT PMMPTE *FoundCluster,
|
||||||
OUT PMMPTE *PreviousClusterNode)
|
OUT PMMPTE *PreviousClusterNode)
|
||||||
@@ -97,7 +97,7 @@ MM::Pte::GetClusterSize(IN PMMPTE Pte)
|
|||||||
* @since XT 1.0
|
* @since XT 1.0
|
||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG
|
PFN_COUNT
|
||||||
MM::Pte::GetPtesPerPage(VOID)
|
MM::Pte::GetPtesPerPage(VOID)
|
||||||
{
|
{
|
||||||
/* Calculate and return the number of PTEs per page */
|
/* Calculate and return the number of PTEs per page */
|
||||||
@@ -138,7 +138,7 @@ MM::Pte::GetValidPte()
|
|||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::Pte::InitializeSystemPtePool(IN PMMPTE StartingPte,
|
MM::Pte::InitializeSystemPtePool(IN PMMPTE StartingPte,
|
||||||
IN ULONG NumberOfPtes,
|
IN PFN_COUNT NumberOfPtes,
|
||||||
IN MMSYSTEM_PTE_POOL_TYPE PoolType)
|
IN MMSYSTEM_PTE_POOL_TYPE PoolType)
|
||||||
{
|
{
|
||||||
/* Set the system PTE base address */
|
/* Set the system PTE base address */
|
||||||
@@ -293,6 +293,7 @@ MM::Pte::MapPTE(PVOID StartAddress,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Releases a block of system PTEs into a specified pool.
|
* Releases a block of system PTEs into a specified pool.
|
||||||
*
|
*
|
||||||
@@ -312,7 +313,7 @@ MM::Pte::MapPTE(PVOID StartAddress,
|
|||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::Pte::ReleaseSystemPtes(IN PMMPTE StartingPte,
|
MM::Pte::ReleaseSystemPtes(IN PMMPTE StartingPte,
|
||||||
IN ULONG NumberOfPtes,
|
IN PFN_COUNT NumberOfPtes,
|
||||||
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType)
|
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType)
|
||||||
{
|
{
|
||||||
PMMPTE NextPte, PreviousPte, ReleasedPte;
|
PMMPTE NextPte, PreviousPte, ReleasedPte;
|
||||||
@@ -428,7 +429,7 @@ MM::Pte::ReleaseSystemPtes(IN PMMPTE StartingPte,
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMPTE
|
PMMPTE
|
||||||
MM::Pte::ReserveSystemPtes(IN ULONG NumberOfPtes,
|
MM::Pte::ReserveSystemPtes(IN PFN_COUNT NumberOfPtes,
|
||||||
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType)
|
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType)
|
||||||
{
|
{
|
||||||
PMMPTE NextPte, PreviousPte, ReservedPte;
|
PMMPTE NextPte, PreviousPte, ReservedPte;
|
||||||
|
|||||||
Reference in New Issue
Block a user