[edk2-devel] [PATCH] UefiPayloadPkg: Add macro to enable selection of timer

Ma, Hua posted 1 patch 3 months, 3 weeks ago
Failed in applying to current master (apply log)
UefiPayloadPkg/UefiPayloadPkg.dsc | 16 ++++++++++++++++
UefiPayloadPkg/UefiPayloadPkg.fdf |  4 ++++
2 files changed, 20 insertions(+)
[edk2-devel] [PATCH] UefiPayloadPkg: Add macro to enable selection of timer
Posted by Ma, Hua 3 months, 3 weeks ago
Add macro to enable selection of timer

- HPET:  UEFI Payload will use HPET timer
- LAPIC: UEFI Payload will use local APIC timer

Signed-off-by: Hua Ma <hua.ma@intel.com>
---
 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 {
+    <LibraryClasses>
+      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
-- 
2.39.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113219): https://edk2.groups.io/g/devel/message/113219
Mute This Topic: https://groups.io/mt/103538255/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel] [PATCH] UefiPayloadPkg: Add macro to enable selection of timer
Posted by Nate DeSimone 3 months, 3 weeks ago
Hi Hua,

Please make TIMER_SUPPORT a FixedAtBuiildPcd instead of a build flag. Something like PcdDxeTimerSelection or similar.

Thanks,
Nate

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Ma, Hua
> Sent: Thursday, January 4, 2024 9:39 PM
> To: devel@edk2.groups.io
> Cc: Ma, Hua <hua.ma@intel.com>
> Subject: [edk2-devel] [PATCH] 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
> 
> Signed-off-by: Hua Ma <hua.ma@intel.com>
> ---
>  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/BootManagerMenuAp
> p.inf
> 
> 
> +!if $(TIMER_SUPPORT) == "HPET"
>    PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
> +!elseif $(TIMER_SUPPORT) == "LAPIC"
> +  OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf {
> +    <LibraryClasses>
> +
> +NestedInterruptTplLib|OvmfPkg/Library/NestedInterruptTplLib/NestedInter
> +ruptTplLib.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
> --
> 2.39.1.windows.1
> 
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113503): https://edk2.groups.io/g/devel/message/113503
Mute This Topic: https://groups.io/mt/103538255/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-