]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/TimerLib.h
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Include / Library / TimerLib.h
index 4f920311c69a776a45459f1b55de5397135ebced..efa793f0cdb99586978ab589443cb9a9c8c6bf09 100644 (file)
@@ -1,14 +1,8 @@
 /** @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
@@ -16,6 +10,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #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
@@ -30,6 +26,8 @@ MicroSecondDelay (
   );\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
@@ -44,7 +42,8 @@ NanoSecondDelay (
   );\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
@@ -89,4 +88,21 @@ GetPerformanceCounterProperties (
   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