diff --git a/xtoskrnl/includes/mm/pfn.hh b/xtoskrnl/includes/mm/pfn.hh index 1d6eae8..5b7a810 100644 --- a/xtoskrnl/includes/mm/pfn.hh +++ b/xtoskrnl/includes/mm/pfn.hh @@ -45,6 +45,7 @@ namespace MM IN PFN_NUMBER PageFrameIndex, IN BOOLEAN BeginStandbyList = FALSE); STATIC XTAPI VOID FreePhysicalPage(IN PMMPTE PointerPte); + STATIC XTAPI PFN_NUMBER GetAvailablePages(VOID); STATIC XTAPI ULONG_PTR GetHighestPhysicalPage(VOID); STATIC XTAPI ULONGLONG GetNumberOfPhysicalPages(VOID); STATIC XTAPI PMMPFN GetPfnEntry(IN PFN_NUMBER Pfn); diff --git a/xtoskrnl/mm/pfn.cc b/xtoskrnl/mm/pfn.cc index 4dcf258..ad94f0c 100644 --- a/xtoskrnl/mm/pfn.cc +++ b/xtoskrnl/mm/pfn.cc @@ -351,6 +351,21 @@ MM::Pfn::FreePhysicalPage(IN PMMPTE PointerPte) MM::Pfn::DecrementShareCount(PageFrame, PageFrameNumber, FALSE); } +/** + * Retrieves the number of available physical pages. + * + * @return This routine returns the number of available physical pages. + * + * @since XT 1.0 + */ +XTAPI +PFN_NUMBER +MM::Pfn::GetAvailablePages(VOID) +{ + /* Return the number of available pages */ + return AvailablePages; +} + /** * Retrieves the highest physical page number (PFN) detected in the system. *