audk/UefiCpuPkg/Library/CpuPageTableLib
Zhiguang Liu 8ccd63d14d UefiCpuPkg: Fix issue that IsModified is wrongly set in PageTableMap
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4614

About the IsModified, current function doesn't consider that hardware
also may change the pagetable. The issue is that in the first call of
internal function PageTableLibMapInLevel, the function assume page
table is not changed, and add ASSERT to check. But hardware may change
the page table, which cause the ASSERT happens.
Fix the issue by adding addtional condition to only check if the page
table is changed when the software want to modify the page table.
Also, add more comment to explain this behavior.

Reviewed-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Crystal Lee <CrystalLee@ami.com.tw>
Cc: Pedro Falcato <pedro.falcato@gmail.com>
Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
2024-02-22 03:28:55 +00:00
..
UnitTest UefiCpuPkg/CpuPageTableLib/TestCase: Refine test case for PAE paging. 2023-12-06 05:30:55 +00:00
CpuPageTable.h UefiCpuPkg/CpuPageTableLib: Enable PAE paging 2023-03-27 08:21:58 +00:00
CpuPageTableLib.inf
CpuPageTableMap.c UefiCpuPkg: Fix issue that IsModified is wrongly set in PageTableMap 2024-02-22 03:28:55 +00:00
CpuPageTableParse.c UefiCpuPkg/CpuPageTableLib: Enable PAE paging 2023-03-27 08:21:58 +00:00