Branch: refs/heads/master
Home: https://github.com/tianocore/edk2
Commit: 2f4b07b668323122a363eee87a2348f4a738bc8c
https://github.com/tianocore/edk2/commit/2f4b07b668323122a363eee87a2348f4a738bc8c
Author: Zhiguang Liu <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M UefiCpuPkg/Include/Library/CpuPageTableLib.h
M UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableMap.c
Log Message:
-----------
UefiCpuPkg/CpuPageTableLib: Enhance function header for PageTableMap()
PageTableMap() only modifies the PageTable root pointer when creating from zero.
Explicitly explain it in function header.
Reviewed-by: Ray Ni <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Cc: Rahul Kumar <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Zhiguang Liu <[email protected]>
Commit: c10e5703fece76810cad7a5c27914b545def91ff
https://github.com/tianocore/edk2/commit/c10e5703fece76810cad7a5c27914b545def91ff
Author: Zhiguang Liu <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M UefiCpuPkg/CpuMpPei/CpuPaging.c
Log Message:
-----------
UefiCpuPkg/CpuMpPei: Don't write CR3 in ConvertMemoryPageToNotPresent
The purpose of writing CR3 in ConvertMemoryPageToNotPresent is just
to flush TLB, because CR3 won't be changed in function
ConvertMemoryPageToNotPresent.
After ConvertMemoryPageToNotPresent, there is always a flush TLB
function. Also, because ConvertMemoryPageToNotPresent in called in a
loop, to improve performance, there is no need to flush TLB
inside ConvertMemoryPageToNotPresent. Just flushing TLB after the loop
is enough.
Reviewed-by: Ray Ni <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Cc: Rahul Kumar <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Signed-off-by: Zhiguang Liu <[email protected]>
Commit: 8ccd63d14da5678a4b95df0aa954a2378355af9b
https://github.com/tianocore/edk2/commit/8ccd63d14da5678a4b95df0aa954a2378355af9b
Author: Zhiguang Liu <[email protected]>
Date: 2024-02-22 (Thu, 22 Feb 2024)
Changed paths:
M UefiCpuPkg/Include/Library/CpuPageTableLib.h
M UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableMap.c
Log Message:
-----------
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 <[email protected]>
Reviewed-by: Laszlo Ersek <[email protected]>
Cc: Rahul Kumar <[email protected]>
Cc: Gerd Hoffmann <[email protected]>
Cc: Crystal Lee <[email protected]>
Cc: Pedro Falcato <[email protected]>
Signed-off-by: Zhiguang Liu <[email protected]>
Compare: https://github.com/tianocore/edk2/compare/2ca8d5597443...8ccd63d14da5
To unsubscribe from these emails, change your notification settings at
https://github.com/tianocore/edk2/settings/notifications
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits