Replace ULONG with PFN_COUNT in system PTE variables
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 24s
Builds / ExectOS (i686, debug) (push) Successful in 27s
Builds / ExectOS (amd64, release) (push) Successful in 58s
Builds / ExectOS (i686, release) (push) Successful in 55s

This commit is contained in:
2026-01-05 16:48:26 +01:00
parent e66baa0da0
commit 410286d012
4 changed files with 19 additions and 18 deletions

View File

@@ -22,12 +22,12 @@ namespace MM
STATIC PMMPTE SystemPteBase;
STATIC PMMPTE SystemPtesEnd[MaximumPtePoolTypes];
STATIC PMMPTE SystemPtesStart[MaximumPtePoolTypes];
STATIC ULONG TotalSystemFreePtes[MaximumPtePoolTypes];
STATIC PFN_COUNT TotalSystemFreePtes[MaximumPtePoolTypes];
STATIC MMPTE ValidPte;
public:
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 GetValidPte(VOID);
STATIC XTAPI VOID InitializePageTable(VOID);
@@ -49,19 +49,19 @@ namespace MM
PVOID EndAddress,
PMMPXE TemplatePxe);
STATIC XTAPI VOID ReleaseSystemPtes(IN PMMPTE StartingPte,
IN ULONG NumberOfPtes,
IN PFN_COUNT NumberOfPtes,
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);
private:
STATIC XTAPI BOOLEAN FindFreeCluster(IN ULONG NumberOfPtes,
STATIC XTAPI BOOLEAN FindFreeCluster(IN PFN_COUNT NumberOfPtes,
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType,
OUT PMMPTE *FoundCluster,
OUT PMMPTE *PreviousClusterNode);
STATIC XTAPI ULONG GetClusterSize(IN PMMPTE Pte);
STATIC XTAPI VOID InitializeSystemPtePool(IN PMMPTE StartingPte,
IN ULONG NumberOfPtes,
IN PFN_COUNT NumberOfPtes,
IN MMSYSTEM_PTE_POOL_TYPE PoolType);
};
}

View File

@@ -22,12 +22,12 @@ namespace MM
STATIC PMMPTE SystemPteBase;
STATIC PMMPTE SystemPtesEnd[MaximumPtePoolTypes];
STATIC PMMPTE SystemPtesStart[MaximumPtePoolTypes];
STATIC ULONG TotalSystemFreePtes[MaximumPtePoolTypes];
STATIC PFN_COUNT TotalSystemFreePtes[MaximumPtePoolTypes];
STATIC MMPTE ValidPte;
public:
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 GetValidPte(VOID);
STATIC XTAPI VOID InitializePageTable(VOID);
@@ -43,19 +43,19 @@ namespace MM
PVOID EndAddress,
PMMPTE TemplatePte);
STATIC XTAPI VOID ReleaseSystemPtes(IN PMMPTE StartingPte,
IN ULONG NumberOfPtes,
IN PFN_COUNT NumberOfPtes,
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);
private:
STATIC XTAPI BOOLEAN FindFreeCluster(IN ULONG NumberOfPtes,
STATIC XTAPI BOOLEAN FindFreeCluster(IN PFN_COUNT NumberOfPtes,
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType,
OUT PMMPTE *FoundCluster,
OUT PMMPTE *PreviousClusterNode);
STATIC XTAPI ULONG GetClusterSize(IN PMMPTE Pte);
STATIC XTAPI VOID InitializeSystemPtePool(IN PMMPTE StartingPte,
IN ULONG NumberOfPtes,
IN PFN_COUNT NumberOfPtes,
IN MMSYSTEM_PTE_POOL_TYPE PoolType);
};
}

View File

@@ -107,7 +107,7 @@ PMMPTE MM::Pte::SystemPtesEnd[MaximumPtePoolTypes];
PMMPTE MM::Pte::SystemPtesStart[MaximumPtePoolTypes];
/* 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 */
MMPTE MM::Pte::ValidPte;

View File

@@ -30,7 +30,7 @@
*/
XTAPI
BOOLEAN
MM::Pte::FindFreeCluster(IN ULONG NumberOfPtes,
MM::Pte::FindFreeCluster(IN PFN_COUNT NumberOfPtes,
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType,
OUT PMMPTE *FoundCluster,
OUT PMMPTE *PreviousClusterNode)
@@ -97,7 +97,7 @@ MM::Pte::GetClusterSize(IN PMMPTE Pte)
* @since XT 1.0
*/
XTAPI
ULONG
PFN_COUNT
MM::Pte::GetPtesPerPage(VOID)
{
/* Calculate and return the number of PTEs per page */
@@ -138,7 +138,7 @@ MM::Pte::GetValidPte()
XTAPI
VOID
MM::Pte::InitializeSystemPtePool(IN PMMPTE StartingPte,
IN ULONG NumberOfPtes,
IN PFN_COUNT NumberOfPtes,
IN MMSYSTEM_PTE_POOL_TYPE PoolType)
{
/* 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.
*
@@ -312,7 +313,7 @@ MM::Pte::MapPTE(PVOID StartAddress,
XTAPI
VOID
MM::Pte::ReleaseSystemPtes(IN PMMPTE StartingPte,
IN ULONG NumberOfPtes,
IN PFN_COUNT NumberOfPtes,
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType)
{
PMMPTE NextPte, PreviousPte, ReleasedPte;
@@ -428,7 +429,7 @@ MM::Pte::ReleaseSystemPtes(IN PMMPTE StartingPte,
*/
XTAPI
PMMPTE
MM::Pte::ReserveSystemPtes(IN ULONG NumberOfPtes,
MM::Pte::ReserveSystemPtes(IN PFN_COUNT NumberOfPtes,
IN MMSYSTEM_PTE_POOL_TYPE SystemPtePoolType)
{
PMMPTE NextPte, PreviousPte, ReservedPte;