From 7d976f279e49bc4897715e3c9c23781812341d51 Mon Sep 17 00:00:00 2001 From: Leif Lindholm Date: Thu, 30 Nov 2017 13:55:59 +0000 Subject: [PATCH] Omap35xxPkg: add GetTimeInNanoSecond implementation Commit a63be426f8e3 ("ArmPlatformPkg: Store initial timer value") caused BeagleBoard to stop building, due to Omap35xxTimerLib lacking an implementation of GetTimeInNanoSecond (). So add one. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leif Lindholm Reviewed-by: Ard Biesheuvel --- .../Library/Omap35xxTimerLib/TimerLib.c | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c b/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c index 652c47b6f6..a6f79ddd57 100644 --- a/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c +++ b/Omap35xxPkg/Library/Omap35xxTimerLib/TimerLib.c @@ -131,3 +131,27 @@ GetPerformanceCounterProperties ( return PcdGet64(PcdEmbeddedPerformanceCounterFrequencyInHz); } + +/** + Converts elapsed ticks of performance counter to time in nanoseconds. + + This function converts the elapsed ticks of running performance counter to + time value in unit of nanoseconds. + + @param Ticks The number of elapsed ticks of running performance counter. + + @return The elapsed time in nanoseconds. + +**/ +UINT64 +EFIAPI +GetTimeInNanoSecond ( + IN UINT64 Ticks + ) +{ + UINT32 Period; + + Period = PcdGet32 (PcdEmbeddedPerformanceCounterPeriodInNanoseconds); + + return (Ticks * Period); +} -- 2.39.2