summaryrefslogtreecommitdiffstats
path: root/UefiCpuPkg/CpuDxe/Ia32
diff options
context:
space:
mode:
authorDong, Eric <eric.dong@intel.com>2019-09-12 13:22:18 +0800
committerEric Dong <eric.dong@intel.com>2019-09-25 14:29:24 +0800
commitc70fef962e804eba483512b64ec24169871060be (patch)
tree827b6da0e95eacb81269688150cb5aa516d01a41 /UefiCpuPkg/CpuDxe/Ia32
parenta3596a040bbd363b75a4d79da359374c0f409bc5 (diff)
downloadedk2-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.c34
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;
+ }
+}
+