summaryrefslogtreecommitdiff
path: root/payloads/external
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/external')
-rw-r--r--payloads/external/Makefile.inc4
-rw-r--r--payloads/external/edk2/Kconfig14
-rw-r--r--payloads/external/edk2/Makefile6
3 files changed, 24 insertions, 0 deletions
diff --git a/payloads/external/Makefile.inc b/payloads/external/Makefile.inc
index 2c7337a8bf..a2d2f505e2 100644
--- a/payloads/external/Makefile.inc
+++ b/payloads/external/Makefile.inc
@@ -164,6 +164,7 @@ $(obj)/UEFIPAYLOAD.fd: $(DOTCONFIG)
CONFIG_EDK2_REPO_OFFICIAL=$(CONFIG_EDK2_REPO_OFFICIAL) \
CONFIG_EDK2_REPO_MRCHROMEBOX=$(CONFIG_EDK2_REPO_MRCHROMEBOX) \
CONFIG_EDK2_REPO_CUSTOM=$(CONFIG_EDK2_REPO_CUSTOM) \
+ CONFIG_EDK2_CPU_TIMER_LIB=$(CONFIG_EDK2_CPU_TIMER_LIB) \
CONFIG_EDK2_CUSTOM_BUILD_PARAMS=$(CONFIG_EDK2_CUSTOM_BUILD_PARAMS) \
CONFIG_EDK2_DEBUG=$(CONFIG_EDK2_DEBUG) \
CONFIG_EDK2_RELEASE=$(CONFIG_EDK2_RELEASE) \
@@ -182,6 +183,7 @@ $(obj)/UEFIPAYLOAD.fd: $(DOTCONFIG)
CONFIG_EDK2_SD_MMC_TIMEOUT=$(CONFIG_EDK2_SD_MMC_TIMEOUT) \
CONFIG_ECAM_MMCONF_BASE_ADDRESS=$(CONFIG_ECAM_MMCONF_BASE_ADDRESS) \
CONFIG_ECAM_MMCONF_LENGTH=$(CONFIG_ECAM_MMCONF_LENGTH) \
+ CONFIG_CPU_XTAL_HZ=$(CONFIG_CPU_XTAL_HZ) \
CONFIG_SMMSTORE_V2=$(CONFIG_SMMSTORE_v2) \
GCC_CC_x86_32=$(GCC_CC_x86_32) \
GCC_CC_x86_64=$(GCC_CC_x86_64) \
@@ -203,6 +205,7 @@ $(obj)/ShimmedUniversalPayload.elf: $(DOTCONFIG)
CONFIG_EDK2_REPO_OFFICIAL=$(CONFIG_EDK2_REPO_OFFICIAL) \
CONFIG_EDK2_REPO_MRCHROMEBOX=$(CONFIG_EDK2_REPO_MRCHROMEBOX) \
CONFIG_EDK2_REPO_CUSTOM=$(CONFIG_EDK2_REPO_CUSTOM) \
+ CONFIG_EDK2_CPU_TIMER_LIB=$(CONFIG_EDK2_CPU_TIMER_LIB) \
CONFIG_EDK2_CUSTOM_BUILD_PARAMS=$(CONFIG_EDK2_CUSTOM_BUILD_PARAMS) \
CONFIG_EDK2_DEBUG=$(CONFIG_EDK2_DEBUG) \
CONFIG_EDK2_RELEASE=$(CONFIG_EDK2_RELEASE) \
@@ -221,6 +224,7 @@ $(obj)/ShimmedUniversalPayload.elf: $(DOTCONFIG)
CONFIG_EDK2_UNIVERSAL_PAYLOAD=$(CONFIG_EDK2_UNIVERSAL_PAYLOAD) \
CONFIG_ECAM_MMCONF_BASE_ADDRESS=$(CONFIG_ECAM_MMCONF_BASE_ADDRESS) \
CONFIG_ECAM_MMCONF_LENGTH=$(CONFIG_ECAM_MMCONF_LENGTH) \
+ CONFIG_CPU_XTAL_HZ=$(CONFIG_CPU_XTAL_HZ) \
CONFIG_SMMSTORE_V2=$(CONFIG_SMMSTORE_v2) \
GCC_CC_x86_32=$(GCC_CC_x86_32) \
GCC_CC_x86_64=$(GCC_CC_x86_64) \
diff --git a/payloads/external/edk2/Kconfig b/payloads/external/edk2/Kconfig
index e0c19bbd0b..454aef0069 100644
--- a/payloads/external/edk2/Kconfig
+++ b/payloads/external/edk2/Kconfig
@@ -155,6 +155,20 @@ config EDK2_CBMEM_LOGGING
this option, especially if using a debug (vs release) build.
Selecting this option will increase the payload size in CBFS by 0x10000.
+config EDK2_CPU_TIMER_LIB
+ bool
+ default n
+ help
+ For recent Intel and AMD CPUs, the 0x15 CPUID instruction will return Time
+ Stamp Counter Frequence. For CPUs that do not support this instruction,
+ EDK2 must include a different library which is the reason why this must be
+ configured at build time.
+
+ If this is enabled, and the CPU doesn't support 0x15, it will fail to
+ boot. If it is not enabled, and the CPU does support 0x15, it will still
+ boot but without support for the leaf. Consequently, it is disabled by
+ default.
+
config EDK2_FOLLOW_BGRT_SPEC
bool "Center logo 38.2% from the top of screen"
default n
diff --git a/payloads/external/edk2/Makefile b/payloads/external/edk2/Makefile
index e1a0c93ddc..ff1dfbc03f 100644
--- a/payloads/external/edk2/Makefile
+++ b/payloads/external/edk2/Makefile
@@ -44,6 +44,12 @@ RELEASE_STR = DEBUG
else
RELEASE_STR = RELEASE
endif
+# CPU_TIMER_LIB_ENABLE = TRUE
+ifneq ($(CONFIG_EDK2_CPU_TIMER_LIB),y)
+BUILD_STR += -D CPU_TIMER_LIB_ENABLE=FALSE
+else
+BUILD_STR += --pcd gUefiCpuPkgTokenSpaceGuid.PcdCpuCoreCrystalClockFrequency=$(CONFIG_CPU_XTAL_HZ)
+endif
# DISABLE_SERIAL_TERMINAL = FALSE
ifneq ($(CONFIG_EDK2_SERIAL_SUPPORT),y)
BUILD_STR += -D DISABLE_SERIAL_TERMINAL=TRUE