summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiaxin Wu <jiaxin.wu@intel.com>2024-10-22 11:50:03 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2024-11-07 07:48:35 +0000
commite1b09dfca45cc48519fde2259461879b44659efc (patch)
treedffb68cf7f9b5b96205ab56a8e6bc5b2ee1c63fc
parent836942fbadb629050b866a8052e6af755bcdf623 (diff)
downloadedk2-e1b09dfca45cc48519fde2259461879b44659efc.tar.gz
edk2-e1b09dfca45cc48519fde2259461879b44659efc.tar.bz2
edk2-e1b09dfca45cc48519fde2259461879b44659efc.zip
UefiCpuPkg/UefiCpuPkg.dec: Add PcdMaxMappingAddressBeforeTempRamExit
This change is made for boot performance considerations. Before the Temporary RAM is disabled, the permanent memory is in UC state, causing the creation of the page table in permanent memory to take more time with larger page table sizes. Therefore, this patch adds the PcdMaxMappingAddressBeforeTempRamExit to provide the platform with the capability to control the max mapping address in page table before Temp Ram Exit. The value of 0xFFFFFFFFFFFFFFFF, then firmware will map entire physical address space. Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
-rw-r--r--UefiCpuPkg/UefiCpuPkg.dec8
1 files changed, 8 insertions, 0 deletions
diff --git a/UefiCpuPkg/UefiCpuPkg.dec b/UefiCpuPkg/UefiCpuPkg.dec
index 4e71a11ae0..5d5342ded6 100644
--- a/UefiCpuPkg/UefiCpuPkg.dec
+++ b/UefiCpuPkg/UefiCpuPkg.dec
@@ -262,6 +262,14 @@
# @Prompt BSP Broadcast Method for the first-time wakeup of APs
gUefiCpuPkgTokenSpaceGuid.PcdFirstTimeWakeUpAPsBySipi|TRUE|BOOLEAN|0x30002007
+ ## The max mapping address in page table before Temp Ram Exit.
+ # After physical memory is initialized and before Temp Ram Exit, the physical memory is in UC state.
+ # The PCD controls the page table max mapping address in physical memory before Temp Ram Exit
+ # because creating a big page table in UC physical memory to cover the entire memory space
+ # is slow. The value of 0xFFFFFFFFFFFFFFFF, then firmware will map entire physical address space.
+ # @Prompt Configure max mapping address in page table before Temp Ram Exit.
+ gUefiCpuPkgTokenSpaceGuid.PcdMaxMappingAddressBeforeTempRamExit|0xFFFFFFFFFFFFFFFF|UINT64|0x30002008
+
[PcdsFixedAtBuild, PcdsPatchableInModule]
## This value is the CPU Local APIC base address, which aligns the address on a 4-KByte boundary.
# @Prompt Configure base address of CPU Local APIC