Add input qualifiers to page map interface definitions
This commit is contained in:
@@ -21,41 +21,41 @@ namespace MM
|
|||||||
MMPAGEMAP_INFO PageMapInfo;
|
MMPAGEMAP_INFO PageMapInfo;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
XTAPI PMMPTE AdvancePte(PMMPTE Pte,
|
XTAPI PMMPTE AdvancePte(IN PMMPTE Pte,
|
||||||
ULONG Count);
|
IN ULONG Count);
|
||||||
XTAPI VOID ClearPte(PHARDWARE_PTE PtePointer);
|
XTAPI VOID ClearPte(IN PHARDWARE_PTE PtePointer);
|
||||||
XTAPI ULONGLONG GetEmptyPteList(VOID);
|
XTAPI ULONGLONG GetEmptyPteList(VOID);
|
||||||
XTAPI ULONG_PTR GetNextEntry(PMMPTE Pte);
|
XTAPI ULONG_PTR GetNextEntry(IN PMMPTE Pte);
|
||||||
XTAPI PMMPTE GetNextPte(PMMPTE Pte);
|
XTAPI PMMPTE GetNextPte(IN PMMPTE Pte);
|
||||||
XTAPI BOOLEAN GetOneEntry(PMMPTE Pte);
|
XTAPI BOOLEAN GetOneEntry(IN PMMPTE Pte);
|
||||||
XTAPI PMMP5E GetP5eAddress(PVOID Address);
|
XTAPI PMMP5E GetP5eAddress(IN PVOID Address);
|
||||||
XTAPI ULONG GetP5eIndex(PVOID Address);
|
XTAPI ULONG GetP5eIndex(IN PVOID Address);
|
||||||
XTAPI PVOID GetP5eVirtualAddress(PMMP5E P5ePointer);
|
XTAPI PVOID GetP5eVirtualAddress(IN PMMP5E P5ePointer);
|
||||||
XTAPI PMMPDE GetPdeAddress(PVOID Address);
|
XTAPI PMMPDE GetPdeAddress(IN PVOID Address);
|
||||||
XTAPI ULONG GetPdeIndex(PVOID Address);
|
XTAPI ULONG GetPdeIndex(IN PVOID Address);
|
||||||
XTAPI PVOID GetPdeVirtualAddress(PMMPDE PdePointer);
|
XTAPI PVOID GetPdeVirtualAddress(IN PMMPDE PdePointer);
|
||||||
XTAPI PMMPPE GetPpeAddress(PVOID Address);
|
XTAPI PMMPPE GetPpeAddress(IN PVOID Address);
|
||||||
XTAPI ULONG GetPpeIndex(PVOID Address);
|
XTAPI ULONG GetPpeIndex(IN PVOID Address);
|
||||||
XTAPI PVOID GetPpeVirtualAddress(PMMPPE PpePointer);
|
XTAPI PVOID GetPpeVirtualAddress(IN PMMPPE PpePointer);
|
||||||
XTAPI PMMPTE GetPteAddress(PVOID Address);
|
XTAPI PMMPTE GetPteAddress(IN PVOID Address);
|
||||||
XTAPI ULONG GetPteIndex(PVOID Address);
|
XTAPI ULONG GetPteIndex(IN PVOID Address);
|
||||||
XTAPI ULONG GetPteSize(VOID);
|
XTAPI ULONG GetPteSize(VOID);
|
||||||
XTAPI PVOID GetPteVirtualAddress(PMMPTE PtePointer);
|
XTAPI PVOID GetPteVirtualAddress(IN PMMPTE PtePointer);
|
||||||
XTAPI PMMPXE GetPxeAddress(PVOID Address);
|
XTAPI PMMPXE GetPxeAddress(IN PVOID Address);
|
||||||
XTAPI ULONG GetPxeIndex(PVOID Address);
|
XTAPI ULONG GetPxeIndex(IN PVOID Address);
|
||||||
XTAPI PVOID GetPxeVirtualAddress(PMMPXE PxePointer);
|
XTAPI PVOID GetPxeVirtualAddress(IN PMMPXE PxePointer);
|
||||||
VIRTUAL XTAPI VOID InitializePageMapInfo(VOID) = 0;
|
VIRTUAL XTAPI VOID InitializePageMapInfo(VOID) = 0;
|
||||||
XTAPI BOOLEAN PteValid(PHARDWARE_PTE PtePointer);
|
XTAPI BOOLEAN PteValid(IN PHARDWARE_PTE PtePointer);
|
||||||
XTAPI VOID SetNextEntry(PMMPTE Pte,
|
XTAPI VOID SetNextEntry(IN PMMPTE Pte,
|
||||||
ULONG_PTR Value);
|
IN ULONG_PTR Value);
|
||||||
XTAPI VOID SetOneEntry(PMMPTE Pte,
|
XTAPI VOID SetOneEntry(IN PMMPTE Pte,
|
||||||
BOOLEAN Value);
|
IN BOOLEAN Value);
|
||||||
XTAPI VOID SetPte(PHARDWARE_PTE PtePointer,
|
XTAPI VOID SetPte(IN PHARDWARE_PTE PtePointer,
|
||||||
PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
BOOLEAN Writable);
|
IN BOOLEAN Writable);
|
||||||
XTAPI VOID SetPteCaching(PHARDWARE_PTE PtePointer,
|
XTAPI VOID SetPteCaching(IN PHARDWARE_PTE PtePointer,
|
||||||
BOOLEAN CacheDisable,
|
IN BOOLEAN CacheDisable,
|
||||||
BOOLEAN WriteThrough);
|
IN BOOLEAN WriteThrough);
|
||||||
} PAGEMAP, *PPAGEMAP;
|
} PAGEMAP, *PPAGEMAP;
|
||||||
|
|
||||||
class PageMapBasic final : public PageMap
|
class PageMapBasic final : public PageMap
|
||||||
|
|||||||
@@ -21,81 +21,81 @@ namespace MM
|
|||||||
MMPAGEMAP_INFO PageMapInfo;
|
MMPAGEMAP_INFO PageMapInfo;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
VIRTUAL XTAPI PMMPTE AdvancePte(PMMPTE Pte,
|
VIRTUAL XTAPI PMMPTE AdvancePte(IN PMMPTE Pte,
|
||||||
ULONG Count) = 0;
|
IN ULONG Count) = 0;
|
||||||
XTAPI VOID ClearPte(PHARDWARE_PTE PtePointer);
|
XTAPI VOID ClearPte(IN PHARDWARE_PTE PtePointer);
|
||||||
XTAPI ULONG GetEmptyPteList(VOID);
|
XTAPI ULONG GetEmptyPteList(VOID);
|
||||||
VIRTUAL XTAPI ULONG_PTR GetNextEntry(PMMPTE Pte) = 0;
|
VIRTUAL XTAPI ULONG_PTR GetNextEntry(IN PMMPTE Pte) = 0;
|
||||||
VIRTUAL XTAPI PMMPTE GetNextPte(PMMPTE Pte) = 0;
|
VIRTUAL XTAPI PMMPTE GetNextPte(IN PMMPTE Pte) = 0;
|
||||||
VIRTUAL XTAPI BOOLEAN GetOneEntry(PMMPTE Pte) = 0;
|
VIRTUAL XTAPI BOOLEAN GetOneEntry(IN PMMPTE Pte) = 0;
|
||||||
XTAPI PMMPDE GetPdeAddress(PVOID Address);
|
XTAPI PMMPDE GetPdeAddress(IN PVOID Address);
|
||||||
XTAPI ULONG GetPdeIndex(PVOID Address);
|
XTAPI ULONG GetPdeIndex(IN PVOID Address);
|
||||||
XTAPI PVOID GetPdeVirtualAddress(PMMPDE PdePointer);
|
XTAPI PVOID GetPdeVirtualAddress(IN PMMPDE PdePointer);
|
||||||
XTAPI PMMPPE GetPpeAddress(PVOID Address);
|
XTAPI PMMPPE GetPpeAddress(IN PVOID Address);
|
||||||
XTAPI ULONG GetPpeIndex(PVOID Address);
|
XTAPI ULONG GetPpeIndex(IN PVOID Address);
|
||||||
XTAPI PVOID GetPpeVirtualAddress(PMMPPE PpePointer);
|
XTAPI PVOID GetPpeVirtualAddress(IN PMMPPE PpePointer);
|
||||||
XTAPI PMMPTE GetPteAddress(PVOID Address);
|
XTAPI PMMPTE GetPteAddress(IN PVOID Address);
|
||||||
XTAPI ULONG GetPteIndex(PVOID Address);
|
XTAPI ULONG GetPteIndex(IN PVOID Address);
|
||||||
VIRTUAL XTAPI ULONG GetPteSize(VOID) = 0;
|
VIRTUAL XTAPI ULONG GetPteSize(VOID) = 0;
|
||||||
XTAPI PVOID GetPteVirtualAddress(PMMPTE PtePointer);
|
XTAPI PVOID GetPteVirtualAddress(IN PMMPTE PtePointer);
|
||||||
VIRTUAL XTAPI VOID InitializePageMapInfo(VOID) = 0;
|
VIRTUAL XTAPI VOID InitializePageMapInfo(VOID) = 0;
|
||||||
VIRTUAL XTAPI BOOLEAN PteValid(PHARDWARE_PTE PtePointer) = 0;
|
VIRTUAL XTAPI BOOLEAN PteValid(IN PHARDWARE_PTE PtePointer) = 0;
|
||||||
VIRTUAL XTAPI VOID SetNextEntry(PMMPTE Pte,
|
VIRTUAL XTAPI VOID SetNextEntry(IN PMMPTE Pte,
|
||||||
ULONG_PTR Value) = 0;
|
IN ULONG_PTR Value) = 0;
|
||||||
VIRTUAL XTAPI VOID SetOneEntry(PMMPTE Pte,
|
VIRTUAL XTAPI VOID SetOneEntry(IN PMMPTE Pte,
|
||||||
BOOLEAN Value) = 0;
|
IN BOOLEAN Value) = 0;
|
||||||
VIRTUAL XTAPI VOID SetPte(PHARDWARE_PTE PtePointer,
|
VIRTUAL XTAPI VOID SetPte(IN PHARDWARE_PTE PtePointer,
|
||||||
PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
BOOLEAN Writable) = 0;
|
IN BOOLEAN Writable) = 0;
|
||||||
VIRTUAL XTAPI VOID SetPteCaching(PHARDWARE_PTE PtePointer,
|
VIRTUAL XTAPI VOID SetPteCaching(IN PHARDWARE_PTE PtePointer,
|
||||||
BOOLEAN CacheDisable,
|
IN BOOLEAN CacheDisable,
|
||||||
BOOLEAN WriteThrough) = 0;
|
IN BOOLEAN WriteThrough) = 0;
|
||||||
} PAGEMAP, *PPAGEMAP;
|
} PAGEMAP, *PPAGEMAP;
|
||||||
|
|
||||||
class PageMapBasic final : public PageMap
|
class PageMapBasic final : public PageMap
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
XTAPI PMMPTE AdvancePte(PMMPTE Pte,
|
XTAPI PMMPTE AdvancePte(IN PMMPTE Pte,
|
||||||
ULONG Count);
|
IN ULONG Count);
|
||||||
XTAPI ULONG_PTR GetNextEntry(PMMPTE Pte);
|
XTAPI ULONG_PTR GetNextEntry(IN PMMPTE Pte);
|
||||||
XTAPI PMMPTE GetNextPte(PMMPTE Pte);
|
XTAPI PMMPTE GetNextPte(IN PMMPTE Pte);
|
||||||
XTAPI BOOLEAN GetOneEntry(PMMPTE Pte);
|
XTAPI BOOLEAN GetOneEntry(IN PMMPTE Pte);
|
||||||
XTAPI ULONG GetPteSize(VOID);
|
XTAPI ULONG GetPteSize(VOID);
|
||||||
XTAPI VOID InitializePageMapInfo(VOID);
|
XTAPI VOID InitializePageMapInfo(VOID);
|
||||||
XTAPI BOOLEAN PteValid(PHARDWARE_PTE PtePointer);
|
XTAPI BOOLEAN PteValid(IN PHARDWARE_PTE PtePointer);
|
||||||
XTAPI VOID SetNextEntry(PMMPTE Pte,
|
XTAPI VOID SetNextEntry(IN PMMPTE Pte,
|
||||||
ULONG_PTR Value);
|
IN ULONG_PTR Value);
|
||||||
XTAPI VOID SetOneEntry(PMMPTE Pte,
|
XTAPI VOID SetOneEntry(IN PMMPTE Pte,
|
||||||
BOOLEAN Value);
|
IN BOOLEAN Value);
|
||||||
XTAPI VOID SetPte(PHARDWARE_PTE PtePointer,
|
XTAPI VOID SetPte(IN PHARDWARE_PTE PtePointer,
|
||||||
PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
BOOLEAN Writable);
|
IN BOOLEAN Writable);
|
||||||
XTAPI VOID SetPteCaching(PHARDWARE_PTE PtePointer,
|
XTAPI VOID SetPteCaching(IN PHARDWARE_PTE PtePointer,
|
||||||
BOOLEAN CacheDisable,
|
IN BOOLEAN CacheDisable,
|
||||||
BOOLEAN WriteThrough);
|
IN BOOLEAN WriteThrough);
|
||||||
};
|
};
|
||||||
|
|
||||||
class PageMapXpa final : public PageMap
|
class PageMapXpa final : public PageMap
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
XTAPI PMMPTE AdvancePte(PMMPTE Pte,
|
XTAPI PMMPTE AdvancePte(IN PMMPTE Pte,
|
||||||
ULONG Count);
|
IN ULONG Count);
|
||||||
XTAPI ULONG_PTR GetNextEntry(PMMPTE Pte);
|
XTAPI ULONG_PTR GetNextEntry(IN PMMPTE Pte);
|
||||||
XTAPI PMMPTE GetNextPte(PMMPTE Pte);
|
XTAPI PMMPTE GetNextPte(IN PMMPTE Pte);
|
||||||
XTAPI BOOLEAN GetOneEntry(PMMPTE Pte);
|
XTAPI BOOLEAN GetOneEntry(IN PMMPTE Pte);
|
||||||
XTAPI ULONG GetPteSize(VOID);
|
XTAPI ULONG GetPteSize(VOID);
|
||||||
XTAPI VOID InitializePageMapInfo(VOID);
|
XTAPI VOID InitializePageMapInfo(VOID);
|
||||||
XTAPI BOOLEAN PteValid(PHARDWARE_PTE PtePointer);
|
XTAPI BOOLEAN PteValid(IN PHARDWARE_PTE PtePointer);
|
||||||
XTAPI VOID SetNextEntry(PMMPTE Pte,
|
XTAPI VOID SetNextEntry(IN PMMPTE Pte,
|
||||||
ULONG_PTR Value);
|
IN ULONG_PTR Value);
|
||||||
XTAPI VOID SetOneEntry(PMMPTE Pte,
|
XTAPI VOID SetOneEntry(IN PMMPTE Pte,
|
||||||
BOOLEAN Value);
|
IN BOOLEAN Value);
|
||||||
XTAPI VOID SetPte(PHARDWARE_PTE PtePointer,
|
XTAPI VOID SetPte(IN PHARDWARE_PTE PtePointer,
|
||||||
PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
BOOLEAN Writable);
|
IN BOOLEAN Writable);
|
||||||
XTAPI VOID SetPteCaching(PHARDWARE_PTE PtePointer,
|
XTAPI VOID SetPteCaching(IN PHARDWARE_PTE PtePointer,
|
||||||
BOOLEAN CacheDisable,
|
IN BOOLEAN CacheDisable,
|
||||||
BOOLEAN WriteThrough);
|
IN BOOLEAN WriteThrough);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,8 +24,8 @@
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMPTE
|
PMMPTE
|
||||||
MM::PageMap::AdvancePte(PMMPTE Pte,
|
MM::PageMap::AdvancePte(IN PMMPTE Pte,
|
||||||
ULONG Count)
|
IN ULONG Count)
|
||||||
{
|
{
|
||||||
/* Return advanced PTE pointer */
|
/* Return advanced PTE pointer */
|
||||||
return (PMMPTE)((ULONG_PTR)Pte + (Count * sizeof(MMPTE)));
|
return (PMMPTE)((ULONG_PTR)Pte + (Count * sizeof(MMPTE)));
|
||||||
@@ -43,7 +43,7 @@ MM::PageMap::AdvancePte(PMMPTE Pte,
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMap::ClearPte(PHARDWARE_PTE PtePointer)
|
MM::PageMap::ClearPte(IN PHARDWARE_PTE PtePointer)
|
||||||
{
|
{
|
||||||
/* Clear PTE */
|
/* Clear PTE */
|
||||||
PtePointer->CacheDisable = 0;
|
PtePointer->CacheDisable = 0;
|
||||||
@@ -80,7 +80,7 @@ MM::PageMap::GetEmptyPteList(VOID)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG_PTR
|
ULONG_PTR
|
||||||
MM::PageMap::GetNextEntry(PMMPTE Pte)
|
MM::PageMap::GetNextEntry(IN PMMPTE Pte)
|
||||||
{
|
{
|
||||||
/* Return next entry in PTE list */
|
/* Return next entry in PTE list */
|
||||||
return Pte->List.NextEntry;
|
return Pte->List.NextEntry;
|
||||||
@@ -98,7 +98,7 @@ MM::PageMap::GetNextEntry(PMMPTE Pte)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMPTE
|
PMMPTE
|
||||||
MM::PageMap::GetNextPte(PMMPTE Pte)
|
MM::PageMap::GetNextPte(IN PMMPTE Pte)
|
||||||
{
|
{
|
||||||
/* Return advanced PTE pointer */
|
/* Return advanced PTE pointer */
|
||||||
return AdvancePte(Pte, 1);
|
return AdvancePte(Pte, 1);
|
||||||
@@ -116,7 +116,7 @@ MM::PageMap::GetNextPte(PMMPTE Pte)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
MM::PageMap::GetOneEntry(PMMPTE Pte)
|
MM::PageMap::GetOneEntry(IN PMMPTE Pte)
|
||||||
{
|
{
|
||||||
/* Return one entry status */
|
/* Return one entry status */
|
||||||
return Pte->List.OneEntry;
|
return Pte->List.OneEntry;
|
||||||
@@ -134,7 +134,7 @@ MM::PageMap::GetOneEntry(PMMPTE Pte)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMP5E
|
PMMP5E
|
||||||
MM::PageMap::GetP5eAddress(PVOID Address)
|
MM::PageMap::GetP5eAddress(IN PVOID Address)
|
||||||
{
|
{
|
||||||
ULONGLONG Offset;
|
ULONGLONG Offset;
|
||||||
|
|
||||||
@@ -155,7 +155,7 @@ MM::PageMap::GetP5eAddress(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG
|
ULONG
|
||||||
MM::PageMap::GetP5eIndex(PVOID Address)
|
MM::PageMap::GetP5eIndex(IN PVOID Address)
|
||||||
{
|
{
|
||||||
return (((((ULONGLONG)Address) >> MM_P5I_SHIFT) & 0x1FF) * PageMapInfo.Xpa);
|
return (((((ULONGLONG)Address) >> MM_P5I_SHIFT) & 0x1FF) * PageMapInfo.Xpa);
|
||||||
}
|
}
|
||||||
@@ -172,7 +172,7 @@ MM::PageMap::GetP5eIndex(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PVOID
|
PVOID
|
||||||
MM::PageMap::GetP5eVirtualAddress(PMMP5E P5ePointer)
|
MM::PageMap::GetP5eVirtualAddress(IN PMMP5E P5ePointer)
|
||||||
{
|
{
|
||||||
return (PVOID)((((LONGLONG)P5ePointer << 61) >> 16) * PageMapInfo.Xpa);
|
return (PVOID)((((LONGLONG)P5ePointer << 61) >> 16) * PageMapInfo.Xpa);
|
||||||
}
|
}
|
||||||
@@ -189,7 +189,7 @@ MM::PageMap::GetP5eVirtualAddress(PMMP5E P5ePointer)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMPDE
|
PMMPDE
|
||||||
MM::PageMap::GetPdeAddress(PVOID Address)
|
MM::PageMap::GetPdeAddress(IN PVOID Address)
|
||||||
{
|
{
|
||||||
ULONGLONG Offset;
|
ULONGLONG Offset;
|
||||||
|
|
||||||
@@ -210,7 +210,7 @@ MM::PageMap::GetPdeAddress(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG
|
ULONG
|
||||||
MM::PageMap::GetPdeIndex(PVOID Address)
|
MM::PageMap::GetPdeIndex(IN PVOID Address)
|
||||||
{
|
{
|
||||||
/* Return PDE index */
|
/* Return PDE index */
|
||||||
return ((((ULONGLONG)Address) >> MM_PDI_SHIFT) & 0x1FF);
|
return ((((ULONGLONG)Address) >> MM_PDI_SHIFT) & 0x1FF);
|
||||||
@@ -228,7 +228,7 @@ MM::PageMap::GetPdeIndex(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PVOID
|
PVOID
|
||||||
MM::PageMap::GetPdeVirtualAddress(PMMPDE PdePointer)
|
MM::PageMap::GetPdeVirtualAddress(IN PMMPDE PdePointer)
|
||||||
{
|
{
|
||||||
/* Return PDE virtual address */
|
/* Return PDE virtual address */
|
||||||
return (PVOID)(((LONGLONG)PdePointer << 34) >> 16);
|
return (PVOID)(((LONGLONG)PdePointer << 34) >> 16);
|
||||||
@@ -246,7 +246,7 @@ MM::PageMap::GetPdeVirtualAddress(PMMPDE PdePointer)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMPPE
|
PMMPPE
|
||||||
MM::PageMap::GetPpeAddress(PVOID Address)
|
MM::PageMap::GetPpeAddress(IN PVOID Address)
|
||||||
{
|
{
|
||||||
ULONGLONG Offset;
|
ULONGLONG Offset;
|
||||||
|
|
||||||
@@ -267,7 +267,7 @@ MM::PageMap::GetPpeAddress(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG
|
ULONG
|
||||||
MM::PageMap::GetPpeIndex(PVOID Address)
|
MM::PageMap::GetPpeIndex(IN PVOID Address)
|
||||||
{
|
{
|
||||||
/* Return PPE index */
|
/* Return PPE index */
|
||||||
return ((((ULONGLONG)Address) >> MM_PPI_SHIFT) & 0x1FF);
|
return ((((ULONGLONG)Address) >> MM_PPI_SHIFT) & 0x1FF);
|
||||||
@@ -285,7 +285,7 @@ MM::PageMap::GetPpeIndex(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PVOID
|
PVOID
|
||||||
MM::PageMap::GetPpeVirtualAddress(PMMPPE PpePointer)
|
MM::PageMap::GetPpeVirtualAddress(IN PMMPPE PpePointer)
|
||||||
{
|
{
|
||||||
/* Return PPE virtual address */
|
/* Return PPE virtual address */
|
||||||
return (PVOID)(((LONGLONG)PpePointer << 43) >> 16);
|
return (PVOID)(((LONGLONG)PpePointer << 43) >> 16);
|
||||||
@@ -303,7 +303,7 @@ MM::PageMap::GetPpeVirtualAddress(PMMPPE PpePointer)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMPTE
|
PMMPTE
|
||||||
MM::PageMap::GetPteAddress(PVOID Address)
|
MM::PageMap::GetPteAddress(IN PVOID Address)
|
||||||
{
|
{
|
||||||
ULONGLONG Offset;
|
ULONGLONG Offset;
|
||||||
|
|
||||||
@@ -324,7 +324,7 @@ MM::PageMap::GetPteAddress(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG
|
ULONG
|
||||||
MM::PageMap::GetPteIndex(PVOID Address)
|
MM::PageMap::GetPteIndex(IN PVOID Address)
|
||||||
{
|
{
|
||||||
/* Return PTE index */
|
/* Return PTE index */
|
||||||
return ((((ULONGLONG)Address) >> MM_PTI_SHIFT) & 0x1FF);
|
return ((((ULONGLONG)Address) >> MM_PTI_SHIFT) & 0x1FF);
|
||||||
@@ -357,7 +357,7 @@ MM::PageMap::GetPteSize(VOID)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PVOID
|
PVOID
|
||||||
MM::PageMap::GetPteVirtualAddress(PMMPTE PtePointer)
|
MM::PageMap::GetPteVirtualAddress(IN PMMPTE PtePointer)
|
||||||
{
|
{
|
||||||
/* Return PTE virtual address */
|
/* Return PTE virtual address */
|
||||||
return (PVOID)(((LONGLONG)PtePointer << 25) >> 16);
|
return (PVOID)(((LONGLONG)PtePointer << 25) >> 16);
|
||||||
@@ -375,7 +375,7 @@ MM::PageMap::GetPteVirtualAddress(PMMPTE PtePointer)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMPXE
|
PMMPXE
|
||||||
MM::PageMap::GetPxeAddress(PVOID Address)
|
MM::PageMap::GetPxeAddress(IN PVOID Address)
|
||||||
{
|
{
|
||||||
ULONGLONG Offset;
|
ULONGLONG Offset;
|
||||||
|
|
||||||
@@ -396,7 +396,7 @@ MM::PageMap::GetPxeAddress(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG
|
ULONG
|
||||||
MM::PageMap::GetPxeIndex(PVOID Address)
|
MM::PageMap::GetPxeIndex(IN PVOID Address)
|
||||||
{
|
{
|
||||||
/* Return PXE index */
|
/* Return PXE index */
|
||||||
return ((((ULONGLONG)Address) >> MM_PXI_SHIFT) & 0x1FF);
|
return ((((ULONGLONG)Address) >> MM_PXI_SHIFT) & 0x1FF);
|
||||||
@@ -414,7 +414,7 @@ MM::PageMap::GetPxeIndex(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PVOID
|
PVOID
|
||||||
MM::PageMap::GetPxeVirtualAddress(PMMPXE PxePointer)
|
MM::PageMap::GetPxeVirtualAddress(IN PMMPXE PxePointer)
|
||||||
{
|
{
|
||||||
/* Return PXE virtual address */
|
/* Return PXE virtual address */
|
||||||
return (PVOID)(((LONGLONG)PxePointer << 52) >> 16);
|
return (PVOID)(((LONGLONG)PxePointer << 52) >> 16);
|
||||||
@@ -432,7 +432,7 @@ MM::PageMap::GetPxeVirtualAddress(PMMPXE PxePointer)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
MM::PageMap::PteValid(PHARDWARE_PTE PtePointer)
|
MM::PageMap::PteValid(IN PHARDWARE_PTE PtePointer)
|
||||||
{
|
{
|
||||||
/* Check if PTE is valid */
|
/* Check if PTE is valid */
|
||||||
return (BOOLEAN)PtePointer->Valid;
|
return (BOOLEAN)PtePointer->Valid;
|
||||||
@@ -453,8 +453,8 @@ MM::PageMap::PteValid(PHARDWARE_PTE PtePointer)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMap::SetNextEntry(PMMPTE Pte,
|
MM::PageMap::SetNextEntry(IN PMMPTE Pte,
|
||||||
ULONG_PTR Value)
|
IN ULONG_PTR Value)
|
||||||
{
|
{
|
||||||
/* Set next entry in PTE list */
|
/* Set next entry in PTE list */
|
||||||
Pte->List.NextEntry = Value;
|
Pte->List.NextEntry = Value;
|
||||||
@@ -475,8 +475,8 @@ MM::PageMap::SetNextEntry(PMMPTE Pte,
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMap::SetOneEntry(PMMPTE Pte,
|
MM::PageMap::SetOneEntry(IN PMMPTE Pte,
|
||||||
BOOLEAN Value)
|
IN BOOLEAN Value)
|
||||||
{
|
{
|
||||||
/* Set one entry status */
|
/* Set one entry status */
|
||||||
Pte->List.OneEntry = Value;
|
Pte->List.OneEntry = Value;
|
||||||
@@ -500,9 +500,9 @@ MM::PageMap::SetOneEntry(PMMPTE Pte,
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMap::SetPte(PHARDWARE_PTE PtePointer,
|
MM::PageMap::SetPte(IN PHARDWARE_PTE PtePointer,
|
||||||
PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
BOOLEAN Writable)
|
IN BOOLEAN Writable)
|
||||||
{
|
{
|
||||||
/* Set PTE */
|
/* Set PTE */
|
||||||
PtePointer->PageFrameNumber = PageFrameNumber;
|
PtePointer->PageFrameNumber = PageFrameNumber;
|
||||||
@@ -528,9 +528,9 @@ MM::PageMap::SetPte(PHARDWARE_PTE PtePointer,
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMap::SetPteCaching(PHARDWARE_PTE PtePointer,
|
MM::PageMap::SetPteCaching(IN PHARDWARE_PTE PtePointer,
|
||||||
BOOLEAN CacheDisable,
|
IN BOOLEAN CacheDisable,
|
||||||
BOOLEAN WriteThrough)
|
IN BOOLEAN WriteThrough)
|
||||||
{
|
{
|
||||||
/* Set caching attributes */
|
/* Set caching attributes */
|
||||||
PtePointer->CacheDisable = CacheDisable;
|
PtePointer->CacheDisable = CacheDisable;
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMap::ClearPte(PHARDWARE_PTE PtePointer)
|
MM::PageMap::ClearPte(IN PHARDWARE_PTE PtePointer)
|
||||||
{
|
{
|
||||||
/* Clear PTE */
|
/* Clear PTE */
|
||||||
PtePointer->Long = 0;
|
PtePointer->Long = 0;
|
||||||
@@ -54,7 +54,7 @@ MM::PageMap::GetEmptyPteList(VOID)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMPDE
|
PMMPDE
|
||||||
MM::PageMap::GetPdeAddress(PVOID Address)
|
MM::PageMap::GetPdeAddress(IN PVOID Address)
|
||||||
{
|
{
|
||||||
ULONG Offset;
|
ULONG Offset;
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ MM::PageMap::GetPdeAddress(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG
|
ULONG
|
||||||
MM::PageMap::GetPdeIndex(PVOID Address)
|
MM::PageMap::GetPdeIndex(IN PVOID Address)
|
||||||
{
|
{
|
||||||
/* Return PDE index */
|
/* Return PDE index */
|
||||||
return ((((ULONG_PTR)(Address)) >> PageMapInfo.PdiShift) & (PageMapInfo.Xpa ? 0x1FF : 0x3FF));
|
return ((((ULONG_PTR)(Address)) >> PageMapInfo.PdiShift) & (PageMapInfo.Xpa ? 0x1FF : 0x3FF));
|
||||||
@@ -93,7 +93,7 @@ MM::PageMap::GetPdeIndex(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PVOID
|
PVOID
|
||||||
MM::PageMap::GetPdeVirtualAddress(PMMPDE PdePointer)
|
MM::PageMap::GetPdeVirtualAddress(IN PMMPDE PdePointer)
|
||||||
{
|
{
|
||||||
/* Return PDE virtual address */
|
/* Return PDE virtual address */
|
||||||
return ((PVOID)((ULONG)(PdePointer) << 20));
|
return ((PVOID)((ULONG)(PdePointer) << 20));
|
||||||
@@ -111,7 +111,7 @@ MM::PageMap::GetPdeVirtualAddress(PMMPDE PdePointer)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMPPE
|
PMMPPE
|
||||||
MM::PageMap::GetPpeAddress(PVOID Address)
|
MM::PageMap::GetPpeAddress(IN PVOID Address)
|
||||||
{
|
{
|
||||||
/* Return zero */
|
/* Return zero */
|
||||||
return (PMMPPE)0;
|
return (PMMPPE)0;
|
||||||
@@ -129,7 +129,7 @@ MM::PageMap::GetPpeAddress(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG
|
ULONG
|
||||||
MM::PageMap::GetPpeIndex(PVOID Address)
|
MM::PageMap::GetPpeIndex(IN PVOID Address)
|
||||||
{
|
{
|
||||||
/* Return PPE index */
|
/* Return PPE index */
|
||||||
return ((((ULONG_PTR)(Address)) >> MM_PPI_SHIFT) & 0x3) * PageMapInfo.Xpa;
|
return ((((ULONG_PTR)(Address)) >> MM_PPI_SHIFT) & 0x3) * PageMapInfo.Xpa;
|
||||||
@@ -147,7 +147,7 @@ MM::PageMap::GetPpeIndex(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PVOID
|
PVOID
|
||||||
MM::PageMap::GetPpeVirtualAddress(PMMPPE PpePointer)
|
MM::PageMap::GetPpeVirtualAddress(IN PMMPPE PpePointer)
|
||||||
{
|
{
|
||||||
/* Return PPE virtual address */
|
/* Return PPE virtual address */
|
||||||
return (PVOID)((ULONG)(PpePointer) << 30);
|
return (PVOID)((ULONG)(PpePointer) << 30);
|
||||||
@@ -165,7 +165,7 @@ MM::PageMap::GetPpeVirtualAddress(PMMPPE PpePointer)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMPTE
|
PMMPTE
|
||||||
MM::PageMap::GetPteAddress(PVOID Address)
|
MM::PageMap::GetPteAddress(IN PVOID Address)
|
||||||
{
|
{
|
||||||
ULONG Offset;
|
ULONG Offset;
|
||||||
|
|
||||||
@@ -186,7 +186,7 @@ MM::PageMap::GetPteAddress(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG
|
ULONG
|
||||||
MM::PageMap::GetPteIndex(PVOID Address)
|
MM::PageMap::GetPteIndex(IN PVOID Address)
|
||||||
{
|
{
|
||||||
/* Return PTE index */
|
/* Return PTE index */
|
||||||
return ((((ULONG_PTR)(Address)) >> MM_PTI_SHIFT) & (PageMapInfo.Xpa ? 0x1FF : 0x3FF));
|
return ((((ULONG_PTR)(Address)) >> MM_PTI_SHIFT) & (PageMapInfo.Xpa ? 0x1FF : 0x3FF));
|
||||||
@@ -204,7 +204,7 @@ MM::PageMap::GetPteIndex(PVOID Address)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PVOID
|
PVOID
|
||||||
MM::PageMap::GetPteVirtualAddress(PMMPTE PtePointer)
|
MM::PageMap::GetPteVirtualAddress(IN PMMPTE PtePointer)
|
||||||
{
|
{
|
||||||
/* Return PTE virtual address */
|
/* Return PTE virtual address */
|
||||||
return ((PVOID)((ULONG)(PtePointer) << 10));
|
return ((PVOID)((ULONG)(PtePointer) << 10));
|
||||||
@@ -225,8 +225,8 @@ MM::PageMap::GetPteVirtualAddress(PMMPTE PtePointer)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMPTE
|
PMMPTE
|
||||||
MM::PageMapBasic::AdvancePte(PMMPTE Pte,
|
MM::PageMapBasic::AdvancePte(IN PMMPTE Pte,
|
||||||
ULONG Count)
|
IN ULONG Count)
|
||||||
{
|
{
|
||||||
/* Return advanced PTE pointer */
|
/* Return advanced PTE pointer */
|
||||||
return (PMMPTE)((ULONG_PTR)Pte + (Count * sizeof(MMPML2_PTE)));
|
return (PMMPTE)((ULONG_PTR)Pte + (Count * sizeof(MMPML2_PTE)));
|
||||||
@@ -244,7 +244,7 @@ MM::PageMapBasic::AdvancePte(PMMPTE Pte,
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG_PTR
|
ULONG_PTR
|
||||||
MM::PageMapBasic::GetNextEntry(PMMPTE Pte)
|
MM::PageMapBasic::GetNextEntry(IN PMMPTE Pte)
|
||||||
{
|
{
|
||||||
/* Return next entry in PTE list */
|
/* Return next entry in PTE list */
|
||||||
return Pte->Pml2.List.NextEntry;
|
return Pte->Pml2.List.NextEntry;
|
||||||
@@ -262,7 +262,7 @@ MM::PageMapBasic::GetNextEntry(PMMPTE Pte)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMPTE
|
PMMPTE
|
||||||
MM::PageMapBasic::GetNextPte(PMMPTE Pte)
|
MM::PageMapBasic::GetNextPte(IN PMMPTE Pte)
|
||||||
{
|
{
|
||||||
/* Return advanced PTE pointer */
|
/* Return advanced PTE pointer */
|
||||||
return AdvancePte(Pte, 1);
|
return AdvancePte(Pte, 1);
|
||||||
@@ -280,7 +280,7 @@ MM::PageMapBasic::GetNextPte(PMMPTE Pte)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
MM::PageMapBasic::GetOneEntry(PMMPTE Pte)
|
MM::PageMapBasic::GetOneEntry(IN PMMPTE Pte)
|
||||||
{
|
{
|
||||||
/* Return one entry status */
|
/* Return one entry status */
|
||||||
return Pte->Pml2.List.OneEntry;
|
return Pte->Pml2.List.OneEntry;
|
||||||
@@ -339,7 +339,7 @@ MM::PageMapBasic::InitializePageMapInfo(VOID)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
MM::PageMapBasic::PteValid(PHARDWARE_PTE PtePointer)
|
MM::PageMapBasic::PteValid(IN PHARDWARE_PTE PtePointer)
|
||||||
{
|
{
|
||||||
/* Check if PTE is valid */
|
/* Check if PTE is valid */
|
||||||
return (BOOLEAN)PtePointer->Pml2.Valid;
|
return (BOOLEAN)PtePointer->Pml2.Valid;
|
||||||
@@ -360,8 +360,8 @@ MM::PageMapBasic::PteValid(PHARDWARE_PTE PtePointer)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMapBasic::SetNextEntry(PMMPTE Pte,
|
MM::PageMapBasic::SetNextEntry(IN PMMPTE Pte,
|
||||||
ULONG_PTR Value)
|
IN ULONG_PTR Value)
|
||||||
{
|
{
|
||||||
/* Set next entry in PTE list */
|
/* Set next entry in PTE list */
|
||||||
Pte->Pml2.List.NextEntry = Value;
|
Pte->Pml2.List.NextEntry = Value;
|
||||||
@@ -382,8 +382,8 @@ MM::PageMapBasic::SetNextEntry(PMMPTE Pte,
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMapBasic::SetOneEntry(PMMPTE Pte,
|
MM::PageMapBasic::SetOneEntry(IN PMMPTE Pte,
|
||||||
BOOLEAN Value)
|
IN BOOLEAN Value)
|
||||||
{
|
{
|
||||||
/* Set one entry status */
|
/* Set one entry status */
|
||||||
Pte->Pml2.List.OneEntry = Value;
|
Pte->Pml2.List.OneEntry = Value;
|
||||||
@@ -407,9 +407,9 @@ MM::PageMapBasic::SetOneEntry(PMMPTE Pte,
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMapBasic::SetPte(PHARDWARE_PTE PtePointer,
|
MM::PageMapBasic::SetPte(IN PHARDWARE_PTE PtePointer,
|
||||||
PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
BOOLEAN Writable)
|
IN BOOLEAN Writable)
|
||||||
{
|
{
|
||||||
/* Set PTE */
|
/* Set PTE */
|
||||||
PtePointer->Pml2.PageFrameNumber = PageFrameNumber;
|
PtePointer->Pml2.PageFrameNumber = PageFrameNumber;
|
||||||
@@ -435,9 +435,9 @@ MM::PageMapBasic::SetPte(PHARDWARE_PTE PtePointer,
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMapBasic::SetPteCaching(PHARDWARE_PTE PtePointer,
|
MM::PageMapBasic::SetPteCaching(IN PHARDWARE_PTE PtePointer,
|
||||||
BOOLEAN CacheDisable,
|
IN BOOLEAN CacheDisable,
|
||||||
BOOLEAN WriteThrough)
|
IN BOOLEAN WriteThrough)
|
||||||
{
|
{
|
||||||
/* Set caching attributes */
|
/* Set caching attributes */
|
||||||
PtePointer->Pml2.CacheDisable = CacheDisable;
|
PtePointer->Pml2.CacheDisable = CacheDisable;
|
||||||
@@ -459,8 +459,8 @@ MM::PageMapBasic::SetPteCaching(PHARDWARE_PTE PtePointer,
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMPTE
|
PMMPTE
|
||||||
MM::PageMapXpa::AdvancePte(PMMPTE Pte,
|
MM::PageMapXpa::AdvancePte(IN PMMPTE Pte,
|
||||||
ULONG Count)
|
IN ULONG Count)
|
||||||
{
|
{
|
||||||
/* Return advanced PTE pointer */
|
/* Return advanced PTE pointer */
|
||||||
return (PMMPTE)((ULONG_PTR)Pte + (Count * sizeof(MMPML3_PTE)));
|
return (PMMPTE)((ULONG_PTR)Pte + (Count * sizeof(MMPML3_PTE)));
|
||||||
@@ -478,7 +478,7 @@ MM::PageMapXpa::AdvancePte(PMMPTE Pte,
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG_PTR
|
ULONG_PTR
|
||||||
MM::PageMapXpa::GetNextEntry(PMMPTE Pte)
|
MM::PageMapXpa::GetNextEntry(IN PMMPTE Pte)
|
||||||
{
|
{
|
||||||
/* Return next entry in PTE list */
|
/* Return next entry in PTE list */
|
||||||
return Pte->Pml3.List.NextEntry;
|
return Pte->Pml3.List.NextEntry;
|
||||||
@@ -496,7 +496,7 @@ MM::PageMapXpa::GetNextEntry(PMMPTE Pte)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
PMMPTE
|
PMMPTE
|
||||||
MM::PageMapXpa::GetNextPte(PMMPTE Pte)
|
MM::PageMapXpa::GetNextPte(IN PMMPTE Pte)
|
||||||
{
|
{
|
||||||
/* Return advanced PTE pointer */
|
/* Return advanced PTE pointer */
|
||||||
return AdvancePte(Pte, 1);
|
return AdvancePte(Pte, 1);
|
||||||
@@ -514,7 +514,7 @@ MM::PageMapXpa::GetNextPte(PMMPTE Pte)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
MM::PageMapXpa::GetOneEntry(PMMPTE Pte)
|
MM::PageMapXpa::GetOneEntry(IN PMMPTE Pte)
|
||||||
{
|
{
|
||||||
/* Return one entry status */
|
/* Return one entry status */
|
||||||
return Pte->Pml3.List.OneEntry;
|
return Pte->Pml3.List.OneEntry;
|
||||||
@@ -573,7 +573,7 @@ MM::PageMapXpa::InitializePageMapInfo(VOID)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
MM::PageMapXpa::PteValid(PHARDWARE_PTE PtePointer)
|
MM::PageMapXpa::PteValid(IN PHARDWARE_PTE PtePointer)
|
||||||
{
|
{
|
||||||
return (BOOLEAN)PtePointer->Pml3.Valid;
|
return (BOOLEAN)PtePointer->Pml3.Valid;
|
||||||
}
|
}
|
||||||
@@ -593,8 +593,8 @@ MM::PageMapXpa::PteValid(PHARDWARE_PTE PtePointer)
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMapXpa::SetNextEntry(PMMPTE Pte,
|
MM::PageMapXpa::SetNextEntry(IN PMMPTE Pte,
|
||||||
ULONG_PTR Value)
|
IN ULONG_PTR Value)
|
||||||
{
|
{
|
||||||
/* Set next entry in PTE list */
|
/* Set next entry in PTE list */
|
||||||
Pte->Pml3.List.NextEntry = Value;
|
Pte->Pml3.List.NextEntry = Value;
|
||||||
@@ -615,8 +615,8 @@ MM::PageMapXpa::SetNextEntry(PMMPTE Pte,
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMapXpa::SetOneEntry(PMMPTE Pte,
|
MM::PageMapXpa::SetOneEntry(IN PMMPTE Pte,
|
||||||
BOOLEAN Value)
|
IN BOOLEAN Value)
|
||||||
{
|
{
|
||||||
/* Set one entry status */
|
/* Set one entry status */
|
||||||
Pte->Pml3.List.OneEntry = Value;
|
Pte->Pml3.List.OneEntry = Value;
|
||||||
@@ -640,9 +640,9 @@ MM::PageMapXpa::SetOneEntry(PMMPTE Pte,
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMapXpa::SetPte(PHARDWARE_PTE PtePointer,
|
MM::PageMapXpa::SetPte(IN PHARDWARE_PTE PtePointer,
|
||||||
PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
BOOLEAN Writable)
|
IN BOOLEAN Writable)
|
||||||
{
|
{
|
||||||
/* Set PTE */
|
/* Set PTE */
|
||||||
PtePointer->Pml3.PageFrameNumber = PageFrameNumber;
|
PtePointer->Pml3.PageFrameNumber = PageFrameNumber;
|
||||||
@@ -668,9 +668,9 @@ MM::PageMapXpa::SetPte(PHARDWARE_PTE PtePointer,
|
|||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMapXpa::SetPteCaching(PHARDWARE_PTE PtePointer,
|
MM::PageMapXpa::SetPteCaching(IN PHARDWARE_PTE PtePointer,
|
||||||
BOOLEAN CacheDisable,
|
IN BOOLEAN CacheDisable,
|
||||||
BOOLEAN WriteThrough)
|
IN BOOLEAN WriteThrough)
|
||||||
{
|
{
|
||||||
/* Set caching attributes */
|
/* Set caching attributes */
|
||||||
PtePointer->Pml3.CacheDisable = CacheDisable;
|
PtePointer->Pml3.CacheDisable = CacheDisable;
|
||||||
|
|||||||
Reference in New Issue
Block a user