From: Ard Biesheuvel Date: Mon, 23 Apr 2018 14:47:18 +0000 (+0200) Subject: ArmPkg: add reenable hook to ArmGenericTimerCounterLib X-Git-Tag: edk2-stable201903~1826 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=5853e2e45092ee49a88971ef0c5f97ac808ed47d ArmPkg: add reenable hook to ArmGenericTimerCounterLib In preparation of selectively reinstating the timer enable quirk for Xen that we removed in commit 411a373ed642 ("ArmPkg/TimerDxe: remove workaround for KVM timer handling"), add a ArmGenericTimerReenableTimer() library function to ArmGenericTimerCounterLib that we will populate for Xen only. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel Reviewed-by: Leif Lindholm Reviewed-by: Laszlo Ersek Tested-by: Julien Grall Acked-by: Julien Grall --- diff --git a/ArmPkg/Drivers/TimerDxe/TimerDxe.c b/ArmPkg/Drivers/TimerDxe/TimerDxe.c index bd616d2efc..478f1bece5 100644 --- a/ArmPkg/Drivers/TimerDxe/TimerDxe.c +++ b/ArmPkg/Drivers/TimerDxe/TimerDxe.c @@ -337,6 +337,7 @@ TimerInterruptHandler ( // Set next compare value ArmGenericTimerSetCompareVal (CompareValue); + ArmGenericTimerReenableTimer (); ArmInstructionSynchronizationBarrier (); } diff --git a/ArmPkg/Include/Library/ArmGenericTimerCounterLib.h b/ArmPkg/Include/Library/ArmGenericTimerCounterLib.h index 805025baa1..47e28b79c0 100644 --- a/ArmPkg/Include/Library/ArmGenericTimerCounterLib.h +++ b/ArmPkg/Include/Library/ArmGenericTimerCounterLib.h @@ -22,6 +22,12 @@ ArmGenericTimerEnableTimer ( VOID ); +VOID +EFIAPI +ArmGenericTimerReenableTimer ( + VOID + ); + VOID EFIAPI ArmGenericTimerDisableTimer ( diff --git a/ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.c b/ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.c index d04e04fb33..03519f50e7 100644 --- a/ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.c +++ b/ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.c @@ -29,6 +29,14 @@ ArmGenericTimerEnableTimer ( ArmWriteCntpCtl (TimerCtrlReg); } +VOID +EFIAPI +ArmGenericTimerReenableTimer ( + VOID + ) +{ +} + VOID EFIAPI ArmGenericTimerDisableTimer ( diff --git a/ArmPkg/Library/ArmGenericTimerVirtCounterLib/ArmGenericTimerVirtCounterLib.c b/ArmPkg/Library/ArmGenericTimerVirtCounterLib/ArmGenericTimerVirtCounterLib.c index c941895a35..4bb1e1cde5 100644 --- a/ArmPkg/Library/ArmGenericTimerVirtCounterLib/ArmGenericTimerVirtCounterLib.c +++ b/ArmPkg/Library/ArmGenericTimerVirtCounterLib/ArmGenericTimerVirtCounterLib.c @@ -29,6 +29,14 @@ ArmGenericTimerEnableTimer ( ArmWriteCntvCtl (TimerCtrlReg); } +VOID +EFIAPI +ArmGenericTimerReenableTimer ( + VOID + ) +{ +} + VOID EFIAPI ArmGenericTimerDisableTimer (