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

Reply via email to