Implement architecture-specific user probe address retrieval
This commit is contained in:
@@ -755,6 +755,21 @@ MM::PageMapBasic::GetPxeVirtualAddress(IN PMMPXE PxePointer)
|
||||
return (PVOID)(((LONGLONG)PxePointer << 52) >> 16);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the maximum valid memory address accessible to user-mode applications.
|
||||
*
|
||||
* @return This routine returns the user-mode probe address boundary.
|
||||
*
|
||||
* @since XT 1.0
|
||||
*/
|
||||
XTAPI
|
||||
ULONG_PTR
|
||||
MM::PageMapBasic::GetUserProbeAddress(VOID)
|
||||
{
|
||||
/* Return user probe address */
|
||||
return MM_USER_PROBE_ADDRESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes page map information for basic paging (PML4).
|
||||
*
|
||||
@@ -852,6 +867,21 @@ MM::PageMapXpa::GetPxeVirtualAddress(IN PMMPXE PxePointer)
|
||||
return (PVOID)(((LONGLONG)PxePointer << 43) >> 7);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the maximum valid memory address accessible to user-mode applications.
|
||||
*
|
||||
* @return This routine returns the user-mode probe address boundary.
|
||||
*
|
||||
* @since XT 1.0
|
||||
*/
|
||||
XTAPI
|
||||
ULONG_PTR
|
||||
MM::PageMapXpa::GetUserProbeAddress(VOID)
|
||||
{
|
||||
/* Return user probe address */
|
||||
return MM_USER_PROBE_LA57_ADDRESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes page map information for XPA paging (PML5).
|
||||
*
|
||||
|
||||
@@ -173,6 +173,21 @@ MM::PageMap::GetPteOffset(IN PVOID Address)
|
||||
return ((((ULONG_PTR)(Address)) >> MM_PTI_SHIFT) & (PageMapInfo.Xpa ? 0x1FF : 0x3FF));
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the maximum valid memory address accessible to user-mode applications.
|
||||
*
|
||||
* @return This routine returns the user-mode probe address boundary.
|
||||
*
|
||||
* @since XT 1.0
|
||||
*/
|
||||
XTAPI
|
||||
ULONG_PTR
|
||||
MM::PageMap::GetUserProbeAddress(VOID)
|
||||
{
|
||||
/* Return user probe address */
|
||||
return MM_USER_PROBE_ADDRESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the status of Extended Paging Address (XPA) mode.
|
||||
*
|
||||
|
||||
@@ -470,6 +470,21 @@ MM::Paging::GetPteVirtualAddress(IN PMMPTE PtePointer)
|
||||
return PmlRoutines->GetPteVirtualAddress(PtePointer);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves the maximum valid memory address accessible to user-mode applications.
|
||||
*
|
||||
* @return This routine returns the user-mode probe address boundary.
|
||||
*
|
||||
* @since XT 1.0
|
||||
*/
|
||||
XTAPI
|
||||
ULONG_PTR
|
||||
MM::Paging::GetUserProbeAddress(VOID)
|
||||
{
|
||||
/* Return user probe address */
|
||||
return PmlRoutines->GetUserProbeAddress();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets current status of eXtended Physical Addressing (XPA).
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user