mirror of https://github.com/acidanthera/audk.git
ae59b8ba41
This patch is to map SMRAM in 4K page granularity during SMM page table initialization(SmmInitPageTable) so as to avoid the SMRAM paging-structure layout change when SMI happens (PerformRemainingTasks). The reason is to avoid the Paging-Structure change impact to the multiple Processors. Refer SDM section "4.10.4" & "4.10.5". Currently, SMM BSP needs to update the SMRAM range paging attribute in smm page table according to the SmmMemoryAttributesTable when SMM ready to lock happens. If the SMRAM range is not 4k mapped in page table, the page table update process may split 1G/2M paging entries to 4k ones.Meanwhile, all APs are still running in SMI, which might access the affected linear-address range between the time of modification and the time of invalidation access. That will be a potential problem leading exception happens. Signed-off-by: Dun Tan <dun.tan@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Rahul Kumar <rahul1.kumar@intel.com> Cc: Gerd Hoffmann <kraxel@redhat.com> |
||
---|---|---|
.. | ||
Application/Cpuid | ||
CpuDxe | ||
CpuDxeRiscV64 | ||
CpuFeatures | ||
CpuIo2Dxe | ||
CpuIo2Smm | ||
CpuIoPei | ||
CpuMpPei | ||
CpuS3DataDxe | ||
CpuTimerDxeRiscV64 | ||
Include | ||
Library | ||
MicrocodeMeasurementDxe | ||
PiSmmCommunication | ||
PiSmmCpuDxeSmm | ||
ResetVector | ||
SecCore | ||
SecMigrationPei | ||
Test | ||
Universal/Acpi/S3Resume2Pei | ||
UefiCpuPkg.ci.yaml | ||
UefiCpuPkg.dec | ||
UefiCpuPkg.dsc | ||
UefiCpuPkg.uni | ||
UefiCpuPkgExtra.uni |