/** @file\r
Provides calibrated delay and performance counter services.\r
\r
-Copyright (c) 2006 - 2008, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#define __TIMER_LIB__\r
\r
/**\r
+ Stalls the CPU for at least the given number of microseconds.\r
+\r
Stalls the CPU for the number of microseconds specified by MicroSeconds.\r
\r
@param MicroSeconds The minimum number of microseconds to delay.\r
UINTN\r
EFIAPI\r
MicroSecondDelay (\r
- IN UINTN MicroSeconds\r
+ IN UINTN MicroSeconds\r
);\r
\r
/**\r
+ Stalls the CPU for at least the given number of nanoseconds.\r
+\r
Stalls the CPU for the number of nanoseconds specified by NanoSeconds.\r
\r
@param NanoSeconds The minimum number of nanoseconds to delay.\r
UINTN\r
EFIAPI\r
NanoSecondDelay (\r
- IN UINTN NanoSeconds\r
+ IN UINTN NanoSeconds\r
);\r
\r
/**\r
- Retrieves the current value of a 64-bit free running performance counter. \r
+ Retrieves the current value of a 64-bit free running performance counter.\r
+\r
The counter can either count up by 1 or count down by 1. If the physical\r
performance counter counts by a larger increment, then the counter values\r
must be translated. The properties of the counter can be retrieved from\r
UINT64\r
EFIAPI\r
GetPerformanceCounterProperties (\r
- OUT UINT64 *StartValue, OPTIONAL\r
- OUT UINT64 *EndValue OPTIONAL\r
+ OUT UINT64 *StartValue OPTIONAL,\r
+ OUT UINT64 *EndValue OPTIONAL\r
+ );\r
+\r
+/**\r
+ Converts elapsed ticks of performance counter to time in nanoseconds.\r
+\r
+ This function converts the elapsed ticks of running performance counter to\r
+ time value in unit of nanoseconds.\r
+\r
+ @param Ticks The number of elapsed ticks of running performance counter.\r
+\r
+ @return The elapsed time in nanoseconds.\r
+\r
+**/\r
+UINT64\r
+EFIAPI\r
+GetTimeInNanoSecond (\r
+ IN UINT64 Ticks\r
);\r
\r
#endif\r