Branch: refs/heads/master
  Home:   https://github.com/tianocore/edk2
  Commit: 51edd4830d822e70b96a8548d0d89383e12bc4c0
      
https://github.com/tianocore/edk2/commit/51edd4830d822e70b96a8548d0d89383e12bc4c0
  Author: Dun Tan <dun....@intel.com>
  Date:   2024-07-29 (Mon, 29 Jul 2024)

  Changed paths:
    M UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c

  Log Message:
  -----------
  UefiCpuPkg: fix issue when SMM profile is enabled

This commit is to fix smm code assert issue when SMM Profile
is enabled.

When SMM Profile is enabled, the function InitProtectedMemRange()
retrives MMIO ranges from GCD and store the MMIO ranges in the
mProtectionMemRange. When ReadyToLock, the function InitPaging()
modifies the page table based on the mProtectionMemRange. If the
MMIO ranges in mProtectionMemRange is not 4k aligned, code will
assert when modifying page table.

In this commit, we skip the MMIO ranges that BaseAddress and Length
are not 4k aligned when creating mProtectionMemRange. This will only
cause each access to the skipped MMIO range to be logged. In current
failure case on QEMU and QSP SimicsOpenBoard, the skipped MMIO range
is [0xFED00000, 0xFED00400] for HPET. Considering that the probability
of HPET MMIO range being accessed is very small in SMM, the solution
in this commit is acceptable and simple.

Signed-off-by: Dun Tan <dun....@intel.com>



To unsubscribe from these emails, change your notification settings at 
https://github.com/tianocore/edk2/settings/notifications


_______________________________________________
edk2-commits mailing list
edk2-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to