diff options
author | Dong, Eric <eric.dong@intel.com> | 2019-09-12 13:22:18 +0800 |
---|---|---|
committer | Eric Dong <eric.dong@intel.com> | 2019-09-25 14:29:24 +0800 |
commit | c70fef962e804eba483512b64ec24169871060be (patch) | |
tree | 827b6da0e95eacb81269688150cb5aa516d01a41 /UefiCpuPkg/CpuDxe/Ia32 | |
parent | a3596a040bbd363b75a4d79da359374c0f409bc5 (diff) | |
download | edk2-c70fef962e804eba483512b64ec24169871060be.tar.gz edk2-c70fef962e804eba483512b64ec24169871060be.tar.bz2 edk2-c70fef962e804eba483512b64ec24169871060be.zip |
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>
Diffstat (limited to 'UefiCpuPkg/CpuDxe/Ia32')
-rw-r--r-- | UefiCpuPkg/CpuDxe/Ia32/PagingAttribute.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/UefiCpuPkg/CpuDxe/Ia32/PagingAttribute.c b/UefiCpuPkg/CpuDxe/Ia32/PagingAttribute.c new file mode 100644 index 0000000000..3325a42dd2 --- /dev/null +++ b/UefiCpuPkg/CpuDxe/Ia32/PagingAttribute.c @@ -0,0 +1,34 @@ +/** @file
+ Return Paging attribute.
+
+ Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#include "CpuPageTable.h"
+
+
+/**
+ 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
+ )
+{
+ if (PageTableBase != NULL) {
+ *PageTableBase = &PagingContextData->Ia32.PageTableBase;
+ }
+ if (Attributes != NULL) {
+ *Attributes = &PagingContextData->Ia32.Attributes;
+ }
+}
+
|