summaryrefslogtreecommitdiffstats
path: root/UefiCpuPkg/CpuDxe/CpuDxe.c
diff options
context:
space:
mode:
authorJian J Wang <jian.j.wang@intel.com>2017-09-16 21:26:28 +0800
committerStar Zeng <star.zeng@intel.com>2017-09-21 09:38:15 +0800
commitc1cab54ce57c2608b8b3ea051c7041f036f21153 (patch)
tree1bb3dffa43daf499e62ca5c9535dcb52bfaa477b /UefiCpuPkg/CpuDxe/CpuDxe.c
parent947f3737abf65fda63f3ffd97fddfa6986986868 (diff)
downloadedk2-c1cab54ce57c2608b8b3ea051c7041f036f21153.tar.gz
edk2-c1cab54ce57c2608b8b3ea051c7041f036f21153.tar.bz2
edk2-c1cab54ce57c2608b8b3ea051c7041f036f21153.zip
UefiCpuPkg/CpuDxe: Fix out-of-sync issue in page attributes
From CpuDxe driver perspective, it doesn't update GCD memory attributes from current page table setup during its initialization. So the memory attributes in GCD might not reflect all memory attributes in real world. Cc: Eric Dong <eric.dong@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Michael Kinney <michael.d.kinney@intel.com> Suggested-by: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jian J Wang <jian.j.wang@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Diffstat (limited to 'UefiCpuPkg/CpuDxe/CpuDxe.c')
-rw-r--r--UefiCpuPkg/CpuDxe/CpuDxe.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/UefiCpuPkg/CpuDxe/CpuDxe.c b/UefiCpuPkg/CpuDxe/CpuDxe.c
index b386f3b677..4e8fa100e0 100644
--- a/UefiCpuPkg/CpuDxe/CpuDxe.c
+++ b/UefiCpuPkg/CpuDxe/CpuDxe.c
@@ -863,6 +863,11 @@ RefreshGcdMemoryAttributes (
FreePool (MemorySpaceMap);
}
+ //
+ // Update page attributes
+ //
+ RefreshGcdMemoryAttributesFromPaging();
+
mIsFlushingGCD = FALSE;
}