From c3d865a4c21d91f2e338a91d0c8b1eaf205575b5 Mon Sep 17 00:00:00 2001 From: Hua Ma Date: Fri, 5 Jan 2024 10:45:30 +0800 Subject: UefiPayloadPkg: Add macro to enable selection of timer Add macro to enable selection of timer - HPET: UEFI Payload will use HPET timer - LAPIC: UEFI Payload will use local APIC timer Cc: Guo Dong Cc: Sean Rhodes Cc: James Lu Cc: Gua Guo Signed-off-by: Hua Ma Reviewed-by: Gua Guo --- UefiPayloadPkg/UefiPayloadPkg.dsc | 16 ++++++++++++++++ UefiPayloadPkg/UefiPayloadPkg.fdf | 4 ++++ 2 files changed, 20 insertions(+) diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc index b8b13ad201..4f195c1e52 100644 --- a/UefiPayloadPkg/UefiPayloadPkg.dsc +++ b/UefiPayloadPkg/UefiPayloadPkg.dsc @@ -139,6 +139,12 @@ # Note: for emulation platform such as QEMU, this may not work and should set it as FALSE DEFINE CPU_TIMER_LIB_ENABLE = TRUE + # + # HPET: UEFI Payload will use HPET timer + # LAPIC: UEFI Payload will use local APIC timer + # + DEFINE TIMER_SUPPORT = HPET + DEFINE MULTIPLE_DEBUG_PORT_SUPPORT = FALSE [BuildOptions] @@ -676,7 +682,17 @@ MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf +!if $(TIMER_SUPPORT) == "HPET" PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf +!elseif $(TIMER_SUPPORT) == "LAPIC" + OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf { + + NestedInterruptTplLib|OvmfPkg/Library/NestedInterruptTplLib/NestedInterruptTplLib.inf + } +!else + !error "Invalid TIMER_SUPPORT" +!endif + MdeModulePkg/Universal/Metronome/Metronome.inf MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf b/UefiPayloadPkg/UefiPayloadPkg.fdf index 835798be1c..7d04a8cffd 100644 --- a/UefiPayloadPkg/UefiPayloadPkg.fdf +++ b/UefiPayloadPkg/UefiPayloadPkg.fdf @@ -161,7 +161,11 @@ INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf !endif INF UefiCpuPkg/CpuDxe/CpuDxe.inf +!if $(TIMER_SUPPORT) == "HPET" INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf +!elseif $(TIMER_SUPPORT) == "LAPIC" +INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf +!endif INF MdeModulePkg/Universal/Metronome/Metronome.inf INF MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf -- cgit v1.2.3