diff --git a/sdk/xtdk/amd64/mmtypes.h b/sdk/xtdk/amd64/mmtypes.h index 0562244..9eccd34 100644 --- a/sdk/xtdk/amd64/mmtypes.h +++ b/sdk/xtdk/amd64/mmtypes.h @@ -142,7 +142,6 @@ typedef struct _HARDWARE_PTE typedef struct _MMPAGEMAP_INFO { BOOLEAN Xpa; - ULONGLONG EmptyPteList; ULONGLONG PteBase; ULONGLONG PdeBase; ULONGLONG PpeBase; diff --git a/sdk/xtdk/i686/mmtypes.h b/sdk/xtdk/i686/mmtypes.h index 469a708..749caea 100644 --- a/sdk/xtdk/i686/mmtypes.h +++ b/sdk/xtdk/i686/mmtypes.h @@ -165,7 +165,6 @@ typedef union _HARDWARE_PTE typedef struct _MMPAGEMAP_INFO { BOOLEAN Xpa; - ULONG EmptyPteList; ULONG PteBase; ULONG PdeBase; ULONG PdiShift; diff --git a/xtoskrnl/includes/mm/amd64/pagemap.hh b/xtoskrnl/includes/mm/amd64/pagemap.hh index 2a3eb9e..febc7ce 100644 --- a/xtoskrnl/includes/mm/amd64/pagemap.hh +++ b/xtoskrnl/includes/mm/amd64/pagemap.hh @@ -24,7 +24,6 @@ namespace MM XTAPI PMMPTE AdvancePte(IN PMMPTE Pte, IN LONG Count); XTAPI VOID ClearPte(IN PMMPTE PtePointer); - XTAPI ULONGLONG GetEmptyPteList(VOID); XTAPI ULONG_PTR GetNextEntry(IN PMMPTE Pte); XTAPI PMMPTE GetNextPte(IN PMMPTE Pte); XTAPI BOOLEAN GetOneEntry(IN PMMPTE Pte); @@ -42,7 +41,6 @@ namespace MM XTAPI PMMPTE GetPteAddress(IN PVOID Address); XTAPI LONG GetPteDistance(PMMPTE EndPte, PMMPTE StartPte); - XTAPI ULONG_PTR GetPteListTerminator(VOID); XTAPI ULONG GetPteOffset(IN PVOID Address); XTAPI ULONG GetPteSize(VOID); XTAPI ULONG GetPteSoftwareProtection(IN PMMPTE PtePointer); diff --git a/xtoskrnl/includes/mm/amd64/paging.hh b/xtoskrnl/includes/mm/amd64/paging.hh index dd3cf29..9cec44a 100644 --- a/xtoskrnl/includes/mm/amd64/paging.hh +++ b/xtoskrnl/includes/mm/amd64/paging.hh @@ -25,7 +25,6 @@ namespace MM IN LONG Count); STATIC XTAPI VOID ClearPte(IN PMMPTE PtePointer); STATIC XTAPI VOID FlushTlb(VOID); - STATIC XTAPI ULONG_PTR GetEmptyPteList(VOID); STATIC XTAPI ULONG_PTR GetNextEntry(IN PMMPTE Pte); STATIC XTAPI PMMPTE GetNextPte(IN PMMPTE Pte); STATIC XTAPI BOOLEAN GetOneEntry(IN PMMPTE Pte); @@ -40,7 +39,6 @@ namespace MM STATIC XTAPI PMMPTE GetPteAddress(IN PVOID Address); STATIC XTAPI LONG GetPteDistance(PMMPTE EndPte, PMMPTE StartPte); - STATIC XTAPI ULONG_PTR GetPteListTerminator(VOID); STATIC XTAPI ULONG GetPteSize(VOID); STATIC XTAPI ULONG GetPteSoftwareProtection(IN PMMPTE PtePointer); STATIC XTAPI ULONG GetPteSoftwarePrototype(IN PMMPTE PtePointer); diff --git a/xtoskrnl/includes/mm/amd64/pte.hh b/xtoskrnl/includes/mm/amd64/pte.hh index d07ac04..089dbfc 100644 --- a/xtoskrnl/includes/mm/amd64/pte.hh +++ b/xtoskrnl/includes/mm/amd64/pte.hh @@ -19,7 +19,6 @@ namespace MM { private: STATIC MMPTE FirstSystemFreePte[MaximumPtePoolTypes]; - STATIC ULONG_PTR ListTerminator; STATIC PMMPTE SystemPteBase; STATIC PMMPTE SystemPtesEnd[MaximumPtePoolTypes]; STATIC PMMPTE SystemPtesStart[MaximumPtePoolTypes]; diff --git a/xtoskrnl/includes/mm/i686/pagemap.hh b/xtoskrnl/includes/mm/i686/pagemap.hh index b014357..bdfcb2d 100644 --- a/xtoskrnl/includes/mm/i686/pagemap.hh +++ b/xtoskrnl/includes/mm/i686/pagemap.hh @@ -24,7 +24,6 @@ namespace MM VIRTUAL XTAPI PMMPTE AdvancePte(IN PMMPTE Pte, IN ULONG Count) = 0; VIRTUAL XTAPI VOID ClearPte(IN PMMPTE PtePointer) = 0; - XTAPI ULONG GetEmptyPteList(VOID); VIRTUAL XTAPI ULONG_PTR GetNextEntry(IN PMMPTE Pte) = 0; VIRTUAL XTAPI PMMPTE GetNextPte(IN PMMPTE Pte) = 0; VIRTUAL XTAPI BOOLEAN GetOneEntry(IN PMMPTE Pte) = 0; @@ -40,7 +39,6 @@ namespace MM XTAPI ULONG GetPteOffset(IN PVOID Address); VIRTUAL XTAPI LONG GetPteDistance(PMMPTE EndPte, PMMPTE StartPte) = 0; - VIRTUAL XTAPI ULONG_PTR GetPteListTerminator(VOID) = 0; VIRTUAL XTAPI ULONG GetPteSize(VOID) = 0; VIRTUAL XTAPI ULONG GetPteSoftwareProtection(IN PMMPTE PtePointer) = 0; VIRTUAL XTAPI ULONG GetPteSoftwarePrototype(IN PMMPTE PtePointer) = 0; @@ -82,7 +80,6 @@ namespace MM XTAPI ULONG_PTR GetPte(IN PMMPTE PtePointer); XTAPI LONG GetPteDistance(PMMPTE EndPte, PMMPTE StartPte); - XTAPI ULONG_PTR GetPteListTerminator(VOID); XTAPI ULONG GetPteSize(VOID); XTAPI ULONG GetPteSoftwareProtection(IN PMMPTE PtePointer); XTAPI ULONG GetPteSoftwarePrototype(IN PMMPTE PtePointer); @@ -122,7 +119,6 @@ namespace MM XTAPI ULONG_PTR GetPte(IN PMMPTE PtePointer); XTAPI LONG GetPteDistance(PMMPTE EndPte, PMMPTE StartPte); - XTAPI ULONG_PTR GetPteListTerminator(VOID); XTAPI ULONG GetPteSize(VOID); XTAPI ULONG GetPteSoftwareProtection(IN PMMPTE PtePointer); XTAPI ULONG GetPteSoftwarePrototype(IN PMMPTE PtePointer); diff --git a/xtoskrnl/includes/mm/i686/paging.hh b/xtoskrnl/includes/mm/i686/paging.hh index 54c77cc..b9722d9 100644 --- a/xtoskrnl/includes/mm/i686/paging.hh +++ b/xtoskrnl/includes/mm/i686/paging.hh @@ -25,7 +25,6 @@ namespace MM IN LONG Count); STATIC XTAPI VOID ClearPte(IN PMMPTE PtePointer); STATIC XTAPI VOID FlushTlb(VOID); - STATIC XTAPI ULONG_PTR GetEmptyPteList(VOID); STATIC XTAPI ULONG_PTR GetNextEntry(IN PMMPTE Pte); STATIC XTAPI PMMPTE GetNextPte(IN PMMPTE Pte); STATIC XTAPI BOOLEAN GetOneEntry(IN PMMPTE Pte); @@ -38,7 +37,6 @@ namespace MM STATIC XTAPI PMMPTE GetPteAddress(IN PVOID Address); STATIC XTAPI LONG GetPteDistance(PMMPTE EndPte, PMMPTE StartPte); - STATIC XTAPI ULONG_PTR GetPteListTerminator(VOID); STATIC XTAPI ULONG GetPteSize(VOID); STATIC XTAPI ULONG GetPteSoftwareProtection(IN PMMPTE PtePointer); STATIC XTAPI ULONG GetPteSoftwarePrototype(IN PMMPTE PtePointer); diff --git a/xtoskrnl/includes/mm/i686/pte.hh b/xtoskrnl/includes/mm/i686/pte.hh index 44bd064..2704e2b 100644 --- a/xtoskrnl/includes/mm/i686/pte.hh +++ b/xtoskrnl/includes/mm/i686/pte.hh @@ -19,7 +19,6 @@ namespace MM { private: STATIC MMPTE FirstSystemFreePte[MaximumPtePoolTypes]; - STATIC ULONG_PTR ListTerminator; STATIC PMMPTE SystemPteBase; STATIC PMMPTE SystemPtesEnd[MaximumPtePoolTypes]; STATIC PMMPTE SystemPtesStart[MaximumPtePoolTypes]; diff --git a/xtoskrnl/mm/amd64/pagemap.cc b/xtoskrnl/mm/amd64/pagemap.cc index 9e6454e..932e586 100644 --- a/xtoskrnl/mm/amd64/pagemap.cc +++ b/xtoskrnl/mm/amd64/pagemap.cc @@ -49,21 +49,6 @@ MM::PageMap::ClearPte(IN PMMPTE PtePointer) PtePointer->Long = 0; } -/** - * Gets the value representing an empty PTE list. - * - * @return This routine returns the value representing an empty PTE list. - * - * @since XT 1.0 - */ -XTAPI -ULONGLONG -MM::PageMap::GetEmptyPteList(VOID) -{ - /* Return empty PTE list mask */ - return PageMapInfo.EmptyPteList; -} - /** * Gets the next entry in a PTE list. * @@ -762,9 +747,6 @@ MM::PageMapBasic::InitializePageMapInfo(VOID) /* Set PML4 page map information */ PageMapInfo.Xpa = FALSE; - /* Set PML4 empty PTE list mask */ - PageMapInfo.EmptyPteList = 0xFFFFFFFFUI64; - /* Set PML4 base addresses */ PageMapInfo.PteBase = MM_PTE_BASE; PageMapInfo.PdeBase = MM_PDE_BASE; @@ -862,9 +844,6 @@ MM::PageMapXpa::InitializePageMapInfo(VOID) /* Set PML5 page map information */ PageMapInfo.Xpa = TRUE; - /* Set PML5 empty PTE list mask */ - PageMapInfo.EmptyPteList = 0xFFFFFFFFUI64; - /* Set PML5 base addresses */ PageMapInfo.PteBase = MM_PTE_LA57_BASE; PageMapInfo.PdeBase = MM_PDE_LA57_BASE; diff --git a/xtoskrnl/mm/amd64/pte.cc b/xtoskrnl/mm/amd64/pte.cc index a095915..f255b07 100644 --- a/xtoskrnl/mm/amd64/pte.cc +++ b/xtoskrnl/mm/amd64/pte.cc @@ -166,9 +166,6 @@ MM::Pte::InitializeSystemPte(VOID) { /* Initialize the PTE template */ ValidPte = {MM_PTE_VALID|MM_PTE_EXECUTE_READWRITE|MM_PTE_DIRTY|MM_PTE_ACCESSED}; - - /* Initialize the system's PTE list terminator */ - ListTerminator = MM::Paging::GetPteListTerminator(); } /** diff --git a/xtoskrnl/mm/data.cc b/xtoskrnl/mm/data.cc index 27a29b4..be3c853 100644 --- a/xtoskrnl/mm/data.cc +++ b/xtoskrnl/mm/data.cc @@ -97,9 +97,6 @@ MMPFNLIST MM::Pfn::ZeroedPagesList = {0, ZeroedPageList, MAXULONG_PTR, MAXULONG_ /* Array of lists for available System PTEs, separated by pool type */ MMPTE MM::Pte::FirstSystemFreePte[MaximumPtePoolTypes]; -/* PTE list terminator */ -ULONG_PTR MM::Pte::ListTerminator; - /* Virtual base address of the System PTE space */ PMMPTE MM::Pte::SystemPteBase; diff --git a/xtoskrnl/mm/i686/pagemap.cc b/xtoskrnl/mm/i686/pagemap.cc index 6551fd3..1844115 100644 --- a/xtoskrnl/mm/i686/pagemap.cc +++ b/xtoskrnl/mm/i686/pagemap.cc @@ -9,21 +9,6 @@ #include -/** - * Gets the value representing an empty PTE list. - * - * @return This routine returns the value representing an empty PTE list. - * - * @since XT 1.0 - */ -XTAPI -ULONG -MM::PageMap::GetEmptyPteList(VOID) -{ - /* Return empty PTE list mask */ - return PageMapInfo.EmptyPteList; -} - /** * Gets the address of the PDE (Page Directory Entry), that maps given address. * @@ -340,21 +325,6 @@ MM::PageMapBasic::GetPteDistance(PMMPTE EndPte, return ((ULONG_PTR)EndPte - (ULONG_PTR)StartPte) / sizeof(MMPML2_PTE); } -/** - * Gets the terminator value for a PTE list (PML2). - * - * @return This routine returns the terminator value for a PTE list. - * - * @since XT 1.0 - */ -XTAPI -ULONG_PTR -MM::PageMapBasic::GetPteListTerminator(VOID) -{ - /* Return PTE list terminator value for PML2 */ - return 0xFFFFF; -} - /** * Gets the size of a PTE for basic paging (PML2). * @@ -456,9 +426,6 @@ MM::PageMapBasic::InitializePageMapInfo(VOID) /* Set PML2 page map information */ PageMapInfo.Xpa = FALSE; - /* Set PML2 empty PTE list mask */ - PageMapInfo.EmptyPteList = (ULONG)0xFFFFF; - /* Set PML2 base addresses */ PageMapInfo.PteBase = MM_PTE_BASE; PageMapInfo.PdeBase = MM_PDE_LEGACY_BASE; @@ -828,21 +795,6 @@ MM::PageMapXpa::GetPteDistance(PMMPTE EndPte, return ((ULONG_PTR)EndPte - (ULONG_PTR)StartPte) / sizeof(MMPML3_PTE); } -/** - * Gets the terminator value for a PTE list (PML3). - * - * @return This routine returns the terminator value for a PTE list. - * - * @since XT 1.0 - */ -XTAPI -ULONG_PTR -MM::PageMapXpa::GetPteListTerminator(VOID) -{ - /* Return PTE list terminator value for PML3 */ - return 0xFFFFFFFF; -} - /** * Gets the size of a PTE for XPA paging (PML3). * @@ -944,9 +896,6 @@ MM::PageMapXpa::InitializePageMapInfo(VOID) /* Set PML3 page map information */ PageMapInfo.Xpa = TRUE; - /* Set PML3 empty PTE list mask */ - PageMapInfo.EmptyPteList = (ULONG)0xFFFFFFFF; - /* Set PML3 base addresses */ PageMapInfo.PteBase = MM_PTE_BASE; PageMapInfo.PdeBase = MM_PDE_BASE; diff --git a/xtoskrnl/mm/i686/pte.cc b/xtoskrnl/mm/i686/pte.cc index be5e591..ab83731 100644 --- a/xtoskrnl/mm/i686/pte.cc +++ b/xtoskrnl/mm/i686/pte.cc @@ -125,9 +125,6 @@ MM::Pte::InitializeSystemPte(VOID) { /* Initialize the PTE template */ ValidPte = {{MM_PTE_VALID|MM_PTE_EXECUTE_READWRITE|MM_PTE_DIRTY|MM_PTE_ACCESSED}}; - - /* Initialize the system's PTE list terminator */ - ListTerminator = MM::Paging::GetPteListTerminator(); } /** diff --git a/xtoskrnl/mm/paging.cc b/xtoskrnl/mm/paging.cc index b22fe38..426e574 100644 --- a/xtoskrnl/mm/paging.cc +++ b/xtoskrnl/mm/paging.cc @@ -101,21 +101,6 @@ MM::Paging::FlushTlb(VOID) } } -/** - * Gets the value representing an empty PTE list. - * - * @return This routine returns the value representing an empty PTE list. - * - * @since XT 1.0 - */ -XTAPI -ULONG_PTR -MM::Paging::GetEmptyPteList(VOID) -{ - /* Return empty PTE list mask */ - return (ULONG_PTR)PmlRoutines->GetEmptyPteList(); -} - /** * Gets the next entry in a PTE list. * @@ -351,21 +336,6 @@ MM::Paging::GetPteDistance(PMMPTE EndPte, return PmlRoutines->GetPteDistance(EndPte, StartPte); } -/** - * Gets the terminator value for a PTE list. - * - * @return This routine returns the terminator value for a PTE list. - * - * @since XT 1.0 - */ -XTAPI -ULONG_PTR -MM::Paging::GetPteListTerminator(VOID) -{ - /* Return PTE list terminator value */ - return PmlRoutines->GetPteListTerminator(); -} - /** * Gets the size of a PTE. *