UefiCpuPkg/CpuDxe: clean up PAGE_TABLE_LIB_PAGING_CONTEXT usage.

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1039

Current implementation not checks system mode before using
PAGE_TABLE_LIB_PAGING_CONTEXT.ContextData.X64 or
PAGE_TABLE_LIB_PAGING_CONTEXT.ContextData.Ia32. This patch check the
mode before using the correct one.

Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
Dong, Eric
2019-09-12 13:22:18 +08:00
committed by Eric Dong
parent a3596a040b
commit c70fef962e
5 changed files with 112 additions and 16 deletions

View File

@@ -139,4 +139,19 @@ AllocatePageTableMemory (
IN UINTN Pages
);
/**
Get paging details.
@param PagingContextData The paging context.
@param PageTableBase Return PageTableBase field.
@param Attributes Return Attributes field.
**/
VOID
GetPagingDetails (
IN PAGE_TABLE_LIB_PAGING_CONTEXT_DATA *PagingContextData,
OUT UINTN **PageTableBase OPTIONAL,
OUT UINT32 **Attributes OPTIONAL
);
#endif