forked from xt-sys/exectos
Fix physical page count overflow by using 64-bit type
This commit is contained in:
@@ -21,14 +21,14 @@ namespace MM
|
|||||||
STATIC PLOADER_MEMORY_DESCRIPTOR FreeDescriptor;
|
STATIC PLOADER_MEMORY_DESCRIPTOR FreeDescriptor;
|
||||||
STATIC ULONG_PTR HighestPhysicalPage;
|
STATIC ULONG_PTR HighestPhysicalPage;
|
||||||
STATIC ULONG_PTR LowestPhysicalPage;
|
STATIC ULONG_PTR LowestPhysicalPage;
|
||||||
STATIC ULONG NumberOfPhysicalPages;
|
STATIC ULONGLONG NumberOfPhysicalPages;
|
||||||
STATIC LOADER_MEMORY_DESCRIPTOR OriginalFreeDescriptor;
|
STATIC LOADER_MEMORY_DESCRIPTOR OriginalFreeDescriptor;
|
||||||
STATIC PFN_NUMBER PfnDatabaseSize;
|
STATIC PFN_NUMBER PfnDatabaseSize;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
STATIC XTAPI PFN_NUMBER AllocateBootstrapPages(IN PFN_NUMBER NumberOfPages);
|
STATIC XTAPI PFN_NUMBER AllocateBootstrapPages(IN PFN_NUMBER NumberOfPages);
|
||||||
STATIC XTAPI VOID ComputePfnDatabaseSize(VOID);
|
STATIC XTAPI VOID ComputePfnDatabaseSize(VOID);
|
||||||
STATIC XTAPI ULONG GetNumberOfPhysicalPages(VOID);
|
STATIC XTAPI ULONGLONG GetNumberOfPhysicalPages(VOID);
|
||||||
STATIC XTAPI PFN_NUMBER GetPfnDatabaseSize(VOID);
|
STATIC XTAPI PFN_NUMBER GetPfnDatabaseSize(VOID);
|
||||||
STATIC XTAPI VOID ScanMemoryDescriptors(VOID);
|
STATIC XTAPI VOID ScanMemoryDescriptors(VOID);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ ULONG_PTR MM::Pfn::LowestPhysicalPage = -1;
|
|||||||
MMMEMORY_LAYOUT MM::Manager::MemoryLayout;
|
MMMEMORY_LAYOUT MM::Manager::MemoryLayout;
|
||||||
|
|
||||||
/* Number of physical pages */
|
/* Number of physical pages */
|
||||||
ULONG MM::Pfn::NumberOfPhysicalPages;
|
ULONGLONG MM::Pfn::NumberOfPhysicalPages;
|
||||||
|
|
||||||
/* Number of system PTEs */
|
/* Number of system PTEs */
|
||||||
PFN_NUMBER MM::Manager::NumberOfSystemPtes;
|
PFN_NUMBER MM::Manager::NumberOfSystemPtes;
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ MM::Pfn::ComputePfnDatabaseSize(VOID)
|
|||||||
* @since XT 1.0
|
* @since XT 1.0
|
||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG
|
ULONGLONG
|
||||||
MM::Pfn::GetNumberOfPhysicalPages(VOID)
|
MM::Pfn::GetNumberOfPhysicalPages(VOID)
|
||||||
{
|
{
|
||||||
/* Return the number of physical pages */
|
/* Return the number of physical pages */
|
||||||
|
|||||||
Reference in New Issue
Block a user