Unify PTE type definitions across architectures
This commit is contained in:
@@ -39,7 +39,7 @@ namespace MM
|
|||||||
XTAPI PMMPPE GetPpeAddress(IN PVOID Address);
|
XTAPI PMMPPE GetPpeAddress(IN PVOID Address);
|
||||||
XTAPI ULONG GetPpeOffset(IN PVOID Address);
|
XTAPI ULONG GetPpeOffset(IN PVOID Address);
|
||||||
VIRTUAL XTAPI PVOID GetPpeVirtualAddress(IN PMMPPE PpePointer) = 0;
|
VIRTUAL XTAPI PVOID GetPpeVirtualAddress(IN PMMPPE PpePointer) = 0;
|
||||||
XTAPI ULONG_PTR GetPte(IN PMMPTE PtePointer);
|
XTAPI ULONGLONG GetPte(IN PMMPTE PtePointer);
|
||||||
XTAPI PMMPTE GetPteAddress(IN PVOID Address);
|
XTAPI PMMPTE GetPteAddress(IN PVOID Address);
|
||||||
XTAPI LONG GetPteDistance(PMMPTE EndPte,
|
XTAPI LONG GetPteDistance(PMMPTE EndPte,
|
||||||
PMMPTE StartPte);
|
PMMPTE StartPte);
|
||||||
@@ -61,9 +61,9 @@ namespace MM
|
|||||||
IN BOOLEAN Value);
|
IN BOOLEAN Value);
|
||||||
XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
||||||
IN PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
IN ULONG_PTR AttributesMask);
|
IN ULONGLONG AttributesMask);
|
||||||
XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
||||||
IN ULONG_PTR Attributes);
|
IN ULONGLONG Attributes);
|
||||||
XTAPI VOID SetPteCaching(IN PMMPTE PtePointer,
|
XTAPI VOID SetPteCaching(IN PMMPTE PtePointer,
|
||||||
IN BOOLEAN CacheDisable,
|
IN BOOLEAN CacheDisable,
|
||||||
IN BOOLEAN WriteThrough);
|
IN BOOLEAN WriteThrough);
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ namespace MM
|
|||||||
STATIC XTAPI PVOID GetPdeVirtualAddress(IN PMMPDE PdePointer);
|
STATIC XTAPI PVOID GetPdeVirtualAddress(IN PMMPDE PdePointer);
|
||||||
STATIC XTAPI PMMPPE GetPpeAddress(IN PVOID Address);
|
STATIC XTAPI PMMPPE GetPpeAddress(IN PVOID Address);
|
||||||
STATIC XTAPI PVOID GetPpeVirtualAddress(IN PMMPPE PpePointer);
|
STATIC XTAPI PVOID GetPpeVirtualAddress(IN PMMPPE PpePointer);
|
||||||
STATIC XTAPI ULONG_PTR GetPte(IN PMMPTE PtePointer);
|
STATIC XTAPI ULONGLONG GetPte(IN PMMPTE PtePointer);
|
||||||
STATIC XTAPI PMMPTE GetPteAddress(IN PVOID Address);
|
STATIC XTAPI PMMPTE GetPteAddress(IN PVOID Address);
|
||||||
STATIC XTAPI LONG GetPteDistance(PMMPTE EndPte,
|
STATIC XTAPI LONG GetPteDistance(PMMPTE EndPte,
|
||||||
PMMPTE StartPte);
|
PMMPTE StartPte);
|
||||||
@@ -57,9 +57,9 @@ namespace MM
|
|||||||
IN BOOLEAN Value);
|
IN BOOLEAN Value);
|
||||||
STATIC XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
STATIC XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
||||||
IN PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
IN ULONG_PTR AttributesMask);
|
IN ULONGLONG AttributesMask);
|
||||||
STATIC XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
STATIC XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
||||||
IN ULONG_PTR Attributes);
|
IN ULONGLONG Attributes);
|
||||||
STATIC XTAPI VOID SetPteCaching(IN PMMPTE PtePointer,
|
STATIC XTAPI VOID SetPteCaching(IN PMMPTE PtePointer,
|
||||||
IN BOOLEAN CacheDisable,
|
IN BOOLEAN CacheDisable,
|
||||||
IN BOOLEAN WriteThrough);
|
IN BOOLEAN WriteThrough);
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ namespace MM
|
|||||||
XTAPI PMMPPE GetPpeAddress(IN PVOID Address);
|
XTAPI PMMPPE GetPpeAddress(IN PVOID Address);
|
||||||
XTAPI ULONG GetPpeOffset(IN PVOID Address);
|
XTAPI ULONG GetPpeOffset(IN PVOID Address);
|
||||||
XTAPI PVOID GetPpeVirtualAddress(IN PMMPPE PpePointer);
|
XTAPI PVOID GetPpeVirtualAddress(IN PMMPPE PpePointer);
|
||||||
VIRTUAL XTAPI ULONG_PTR GetPte(IN PMMPTE PtePointer) = 0;
|
VIRTUAL XTAPI ULONGLONG GetPte(IN PMMPTE PtePointer) = 0;
|
||||||
XTAPI PMMPTE GetPteAddress(IN PVOID Address);
|
XTAPI PMMPTE GetPteAddress(IN PVOID Address);
|
||||||
XTAPI ULONG GetPteOffset(IN PVOID Address);
|
XTAPI ULONG GetPteOffset(IN PVOID Address);
|
||||||
VIRTUAL XTAPI LONG GetPteDistance(PMMPTE EndPte,
|
VIRTUAL XTAPI LONG GetPteDistance(PMMPTE EndPte,
|
||||||
@@ -55,9 +55,9 @@ namespace MM
|
|||||||
IN BOOLEAN Value) = 0;
|
IN BOOLEAN Value) = 0;
|
||||||
VIRTUAL XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
VIRTUAL XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
||||||
IN PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
IN ULONG_PTR AttributesMask) = 0;
|
IN ULONGLONG AttributesMask) = 0;
|
||||||
VIRTUAL XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
VIRTUAL XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
||||||
IN ULONG_PTR Attributes) = 0;
|
IN ULONGLONG Attributes) = 0;
|
||||||
VIRTUAL XTAPI VOID SetPteCaching(IN PMMPTE PtePointer,
|
VIRTUAL XTAPI VOID SetPteCaching(IN PMMPTE PtePointer,
|
||||||
IN BOOLEAN CacheDisable,
|
IN BOOLEAN CacheDisable,
|
||||||
IN BOOLEAN WriteThrough) = 0;
|
IN BOOLEAN WriteThrough) = 0;
|
||||||
@@ -79,7 +79,7 @@ namespace MM
|
|||||||
XTAPI BOOLEAN GetOneEntry(IN PMMPTE Pte);
|
XTAPI BOOLEAN GetOneEntry(IN PMMPTE Pte);
|
||||||
XTAPI PFN_NUMBER GetPageFrameNumber(IN PMMPTE Pte);
|
XTAPI PFN_NUMBER GetPageFrameNumber(IN PMMPTE Pte);
|
||||||
XTAPI PVOID GetPdeVirtualAddress(IN PMMPDE PdePointer);
|
XTAPI PVOID GetPdeVirtualAddress(IN PMMPDE PdePointer);
|
||||||
XTAPI ULONG_PTR GetPte(IN PMMPTE PtePointer);
|
XTAPI ULONGLONG GetPte(IN PMMPTE PtePointer);
|
||||||
XTAPI LONG GetPteDistance(PMMPTE EndPte,
|
XTAPI LONG GetPteDistance(PMMPTE EndPte,
|
||||||
PMMPTE StartPte);
|
PMMPTE StartPte);
|
||||||
XTAPI ULONG GetPteSize(VOID);
|
XTAPI ULONG GetPteSize(VOID);
|
||||||
@@ -95,9 +95,9 @@ namespace MM
|
|||||||
IN BOOLEAN Value);
|
IN BOOLEAN Value);
|
||||||
XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
||||||
IN PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
IN ULONG_PTR AttributesMask);
|
IN ULONGLONG AttributesMask);
|
||||||
XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
||||||
IN ULONG_PTR Attributes);
|
IN ULONGLONG Attributes);
|
||||||
XTAPI VOID SetPteCaching(IN PMMPTE PtePointer,
|
XTAPI VOID SetPteCaching(IN PMMPTE PtePointer,
|
||||||
IN BOOLEAN CacheDisable,
|
IN BOOLEAN CacheDisable,
|
||||||
IN BOOLEAN WriteThrough);
|
IN BOOLEAN WriteThrough);
|
||||||
@@ -118,7 +118,7 @@ namespace MM
|
|||||||
XTAPI BOOLEAN GetOneEntry(IN PMMPTE Pte);
|
XTAPI BOOLEAN GetOneEntry(IN PMMPTE Pte);
|
||||||
XTAPI PFN_NUMBER GetPageFrameNumber(IN PMMPTE Pte);
|
XTAPI PFN_NUMBER GetPageFrameNumber(IN PMMPTE Pte);
|
||||||
XTAPI PVOID GetPdeVirtualAddress(IN PMMPDE PdePointer);
|
XTAPI PVOID GetPdeVirtualAddress(IN PMMPDE PdePointer);
|
||||||
XTAPI ULONG_PTR GetPte(IN PMMPTE PtePointer);
|
XTAPI ULONGLONG GetPte(IN PMMPTE PtePointer);
|
||||||
XTAPI LONG GetPteDistance(PMMPTE EndPte,
|
XTAPI LONG GetPteDistance(PMMPTE EndPte,
|
||||||
PMMPTE StartPte);
|
PMMPTE StartPte);
|
||||||
XTAPI ULONG GetPteSize(VOID);
|
XTAPI ULONG GetPteSize(VOID);
|
||||||
@@ -134,9 +134,9 @@ namespace MM
|
|||||||
IN BOOLEAN Value);
|
IN BOOLEAN Value);
|
||||||
XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
||||||
IN PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
IN ULONG_PTR AttributesMask);
|
IN ULONGLONG AttributesMask);
|
||||||
XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
||||||
IN ULONG_PTR Attributes);
|
IN ULONGLONG Attributes);
|
||||||
XTAPI VOID SetPteCaching(IN PMMPTE PtePointer,
|
XTAPI VOID SetPteCaching(IN PMMPTE PtePointer,
|
||||||
IN BOOLEAN CacheDisable,
|
IN BOOLEAN CacheDisable,
|
||||||
IN BOOLEAN WriteThrough);
|
IN BOOLEAN WriteThrough);
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ namespace MM
|
|||||||
STATIC XTAPI PVOID GetPdeVirtualAddress(IN PMMPDE PdePointer);
|
STATIC XTAPI PVOID GetPdeVirtualAddress(IN PMMPDE PdePointer);
|
||||||
STATIC XTAPI PMMPPE GetPpeAddress(IN PVOID Address);
|
STATIC XTAPI PMMPPE GetPpeAddress(IN PVOID Address);
|
||||||
STATIC XTAPI PVOID GetPpeVirtualAddress(IN PMMPPE PpePointer);
|
STATIC XTAPI PVOID GetPpeVirtualAddress(IN PMMPPE PpePointer);
|
||||||
STATIC XTAPI ULONG_PTR GetPte(IN PMMPTE PtePointer);
|
STATIC XTAPI ULONGLONG GetPte(IN PMMPTE PtePointer);
|
||||||
STATIC XTAPI PMMPTE GetPteAddress(IN PVOID Address);
|
STATIC XTAPI PMMPTE GetPteAddress(IN PVOID Address);
|
||||||
STATIC XTAPI LONG GetPteDistance(PMMPTE EndPte,
|
STATIC XTAPI LONG GetPteDistance(PMMPTE EndPte,
|
||||||
PMMPTE StartPte);
|
PMMPTE StartPte);
|
||||||
@@ -53,9 +53,9 @@ namespace MM
|
|||||||
IN BOOLEAN Value);
|
IN BOOLEAN Value);
|
||||||
STATIC XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
STATIC XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
||||||
IN PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
IN ULONG_PTR AttributesMask);
|
IN ULONGLONG AttributesMask);
|
||||||
STATIC XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
STATIC XTAPI VOID SetPte(IN PMMPTE PtePointer,
|
||||||
IN ULONG_PTR Attributes);
|
IN ULONGLONG Attributes);
|
||||||
STATIC XTAPI VOID SetPteCaching(IN PMMPTE PtePointer,
|
STATIC XTAPI VOID SetPteCaching(IN PMMPTE PtePointer,
|
||||||
IN BOOLEAN CacheDisable,
|
IN BOOLEAN CacheDisable,
|
||||||
IN BOOLEAN WriteThrough);
|
IN BOOLEAN WriteThrough);
|
||||||
|
|||||||
@@ -302,7 +302,7 @@ MM::PageMap::GetPpeOffset(IN PVOID Address)
|
|||||||
* @since XT 1.0
|
* @since XT 1.0
|
||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG_PTR
|
ULONGLONG
|
||||||
MM::PageMap::GetPte(IN PMMPTE PtePointer)
|
MM::PageMap::GetPte(IN PMMPTE PtePointer)
|
||||||
{
|
{
|
||||||
/* Return PTE value */
|
/* Return PTE value */
|
||||||
@@ -574,7 +574,7 @@ XTAPI
|
|||||||
VOID
|
VOID
|
||||||
MM::PageMap::SetPte(IN PMMPTE PtePointer,
|
MM::PageMap::SetPte(IN PMMPTE PtePointer,
|
||||||
IN PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
IN ULONG_PTR AttributesMask)
|
IN ULONGLONG AttributesMask)
|
||||||
{
|
{
|
||||||
/* Set PTE */
|
/* Set PTE */
|
||||||
PtePointer->Hardware.PageFrameNumber = PageFrameNumber;
|
PtePointer->Hardware.PageFrameNumber = PageFrameNumber;
|
||||||
@@ -598,7 +598,7 @@ MM::PageMap::SetPte(IN PMMPTE PtePointer,
|
|||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMap::SetPte(IN PMMPTE PtePointer,
|
MM::PageMap::SetPte(IN PMMPTE PtePointer,
|
||||||
IN ULONG_PTR Attributes)
|
IN ULONGLONG Attributes)
|
||||||
{
|
{
|
||||||
PtePointer->Long = Attributes;
|
PtePointer->Long = Attributes;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,7 +80,6 @@ MM::PageMap::GetPdeOffset(IN PVOID Address)
|
|||||||
return ((((ULONG_PTR)(Address)) >> PageMapInfo.PdiShift) & (PageMapInfo.Xpa ? 0x1FF : 0x3FF));
|
return ((((ULONG_PTR)(Address)) >> PageMapInfo.PdiShift) & (PageMapInfo.Xpa ? 0x1FF : 0x3FF));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the address of the PPE (Page Directory Pointer Table Entry), that maps given address.
|
* Gets the address of the PPE (Page Directory Pointer Table Entry), that maps given address.
|
||||||
*
|
*
|
||||||
@@ -174,7 +173,6 @@ MM::PageMap::GetPteOffset(IN PVOID Address)
|
|||||||
return ((((ULONG_PTR)(Address)) >> MM_PTI_SHIFT) & (PageMapInfo.Xpa ? 0x1FF : 0x3FF));
|
return ((((ULONG_PTR)(Address)) >> MM_PTI_SHIFT) & (PageMapInfo.Xpa ? 0x1FF : 0x3FF));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the status of Extended Paging Address (XPA) mode.
|
* Gets the status of Extended Paging Address (XPA) mode.
|
||||||
*
|
*
|
||||||
@@ -329,12 +327,13 @@ MM::PageMapBasic::GetPdeVirtualAddress(IN PMMPDE PdePointer)
|
|||||||
* @since XT 1.0
|
* @since XT 1.0
|
||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG_PTR
|
ULONGLONG
|
||||||
MM::PageMapBasic::GetPte(IN PMMPTE PtePointer)
|
MM::PageMapBasic::GetPte(IN PMMPTE PtePointer)
|
||||||
{
|
{
|
||||||
/* Return PTE value */
|
/* Return PTE value */
|
||||||
return PtePointer->Pml2.Long;
|
return (ULONGLONG)PtePointer->Pml2.Long;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculates the distance between two PTE pointers.
|
* Calculates the distance between two PTE pointers.
|
||||||
*
|
*
|
||||||
@@ -549,12 +548,12 @@ XTAPI
|
|||||||
VOID
|
VOID
|
||||||
MM::PageMapBasic::SetPte(IN PMMPTE PtePointer,
|
MM::PageMapBasic::SetPte(IN PMMPTE PtePointer,
|
||||||
IN PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
IN ULONG_PTR AttributesMask)
|
IN ULONGLONG AttributesMask)
|
||||||
{
|
{
|
||||||
/* Set PTE */
|
/* Set PTE */
|
||||||
PtePointer->Pml2.Hardware.PageFrameNumber = PageFrameNumber;
|
PtePointer->Pml2.Hardware.PageFrameNumber = PageFrameNumber;
|
||||||
PtePointer->Pml2.Hardware.Valid = 1;
|
PtePointer->Pml2.Hardware.Valid = 1;
|
||||||
PtePointer->Pml2.Long |= AttributesMask;
|
PtePointer->Pml2.Long |= (ULONG)AttributesMask;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -573,9 +572,9 @@ MM::PageMapBasic::SetPte(IN PMMPTE PtePointer,
|
|||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMapBasic::SetPte(IN PMMPTE PtePointer,
|
MM::PageMapBasic::SetPte(IN PMMPTE PtePointer,
|
||||||
IN ULONG_PTR Attributes)
|
IN ULONGLONG Attributes)
|
||||||
{
|
{
|
||||||
PtePointer->Pml2.Long = Attributes;
|
PtePointer->Pml2.Long = (ULONG)Attributes;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -626,14 +625,14 @@ MM::PageMapBasic::TransitionPte(IN PMMPTE PointerPte,
|
|||||||
MMPTE TempPte;
|
MMPTE TempPte;
|
||||||
|
|
||||||
/* Set transition PTE */
|
/* Set transition PTE */
|
||||||
TempPte = *PointerPte;
|
TempPte.Pml2.Long = PointerPte->Pml2.Long;
|
||||||
TempPte.Pml2.Software.Protection = Protection;
|
TempPte.Pml2.Software.Protection = Protection;
|
||||||
TempPte.Pml2.Software.Prototype = 0;
|
TempPte.Pml2.Software.Prototype = 0;
|
||||||
TempPte.Pml2.Software.Transition = 1;
|
TempPte.Pml2.Software.Transition = 1;
|
||||||
TempPte.Pml2.Software.Valid = 0;
|
TempPte.Pml2.Software.Valid = 0;
|
||||||
|
|
||||||
/* Write PTE value */
|
/* Write PTE value */
|
||||||
*PointerPte = TempPte;
|
PointerPte->Pml2.Long = TempPte.Pml2.Long;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -798,7 +797,7 @@ MM::PageMapXpa::GetPdeVirtualAddress(IN PMMPDE PdePointer)
|
|||||||
* @since XT 1.0
|
* @since XT 1.0
|
||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG_PTR
|
ULONGLONG
|
||||||
MM::PageMapXpa::GetPte(IN PMMPTE PtePointer)
|
MM::PageMapXpa::GetPte(IN PMMPTE PtePointer)
|
||||||
{
|
{
|
||||||
/* Return PTE value */
|
/* Return PTE value */
|
||||||
@@ -1018,7 +1017,7 @@ XTAPI
|
|||||||
VOID
|
VOID
|
||||||
MM::PageMapXpa::SetPte(IN PMMPTE PtePointer,
|
MM::PageMapXpa::SetPte(IN PMMPTE PtePointer,
|
||||||
IN PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
IN ULONG_PTR AttributesMask)
|
IN ULONGLONG AttributesMask)
|
||||||
{
|
{
|
||||||
/* Set PTE */
|
/* Set PTE */
|
||||||
PtePointer->Pml3.Hardware.PageFrameNumber = PageFrameNumber;
|
PtePointer->Pml3.Hardware.PageFrameNumber = PageFrameNumber;
|
||||||
@@ -1042,7 +1041,7 @@ MM::PageMapXpa::SetPte(IN PMMPTE PtePointer,
|
|||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::PageMapXpa::SetPte(IN PMMPTE PtePointer,
|
MM::PageMapXpa::SetPte(IN PMMPTE PtePointer,
|
||||||
IN ULONG_PTR Attributes)
|
IN ULONGLONG Attributes)
|
||||||
{
|
{
|
||||||
PtePointer->Pml3.Long = Attributes;
|
PtePointer->Pml3.Long = Attributes;
|
||||||
}
|
}
|
||||||
@@ -1095,14 +1094,14 @@ MM::PageMapXpa::TransitionPte(IN PMMPTE PointerPte,
|
|||||||
MMPTE TempPte;
|
MMPTE TempPte;
|
||||||
|
|
||||||
/* Set transition PTE */
|
/* Set transition PTE */
|
||||||
TempPte = *PointerPte;
|
TempPte.Pml3.Long = PointerPte->Pml3.Long;
|
||||||
TempPte.Pml3.Software.Protection = Protection;
|
TempPte.Pml3.Software.Protection = Protection;
|
||||||
TempPte.Pml3.Software.Prototype = 0;
|
TempPte.Pml3.Software.Prototype = 0;
|
||||||
TempPte.Pml3.Software.Transition = 1;
|
TempPte.Pml3.Software.Transition = 1;
|
||||||
TempPte.Pml3.Software.Valid = 0;
|
TempPte.Pml3.Software.Valid = 0;
|
||||||
|
|
||||||
/* Write PTE value */
|
/* Write PTE value */
|
||||||
*PointerPte = TempPte;
|
PointerPte->Pml3.Long = TempPte.Pml3.Long;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -321,7 +321,7 @@ MM::Paging::GetPpeVirtualAddress(IN PMMPPE PpePointer)
|
|||||||
* @since XT 1.0
|
* @since XT 1.0
|
||||||
*/
|
*/
|
||||||
XTAPI
|
XTAPI
|
||||||
ULONG_PTR
|
ULONGLONG
|
||||||
MM::Paging::GetPte(IN PMMPTE PtePointer)
|
MM::Paging::GetPte(IN PMMPTE PtePointer)
|
||||||
{
|
{
|
||||||
/* Return PTE value */
|
/* Return PTE value */
|
||||||
@@ -578,7 +578,7 @@ XTAPI
|
|||||||
VOID
|
VOID
|
||||||
MM::Paging::SetPte(IN PMMPTE PtePointer,
|
MM::Paging::SetPte(IN PMMPTE PtePointer,
|
||||||
IN PFN_NUMBER PageFrameNumber,
|
IN PFN_NUMBER PageFrameNumber,
|
||||||
IN ULONG_PTR AttributesMask)
|
IN ULONGLONG AttributesMask)
|
||||||
{
|
{
|
||||||
/* Set PTE */
|
/* Set PTE */
|
||||||
PmlRoutines->SetPte(PtePointer, PageFrameNumber, AttributesMask);
|
PmlRoutines->SetPte(PtePointer, PageFrameNumber, AttributesMask);
|
||||||
@@ -600,7 +600,7 @@ MM::Paging::SetPte(IN PMMPTE PtePointer,
|
|||||||
XTAPI
|
XTAPI
|
||||||
VOID
|
VOID
|
||||||
MM::Paging::SetPte(IN PMMPTE PtePointer,
|
MM::Paging::SetPte(IN PMMPTE PtePointer,
|
||||||
IN ULONG_PTR Attributes)
|
IN ULONGLONG Attributes)
|
||||||
{
|
{
|
||||||
PmlRoutines->SetPte(PtePointer, Attributes);
|
PmlRoutines->SetPte(PtePointer, Attributes);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user