]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Metronome/Metronome.c
Add code check to avoid access violation.
[mirror_edk2.git] / MdeModulePkg / Universal / Metronome / Metronome.c
index 8a84964ba19f0247e06c2d92b4524ca660a404f2..c3dc0b875a0224095dd6910cc3901443ad61b2a7 100644 (file)
@@ -1,19 +1,5 @@
-/*++\r
-\r
-Copyright (c) 2005, 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
-\r
-Module Name:\r
-\r
-  Metronome.c\r
-\r
-Abstract:\r
+/** @file\r
+  Produces the Metronome Architectural Protocol on top of Timer Library.\r
 \r
   This is a generic implementation of the Metronome Architectural Protocol that\r
   layers on top of an instance of the Timer Library.  The Timer Library provides\r
@@ -25,23 +11,18 @@ Abstract:
   overflows that could occur for long delays if only nanoseconds were used and also\r
   provides the greatest accuracy for small delays. \r
 \r
---*/\r
+Copyright (c) 2008, Intel Corporation. All rights reserved.<BR>\r
+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
 \r
-#include <PiDxe.h>\r
-#include <Protocol/Metronome.h>\r
-#include <Library/UefiBootServicesTableLib.h>\r
-#include <Library/TimerLib.h>\r
-#include <Library/DebugLib.h>\r
+**/\r
 \r
-//\r
-// Function Prototypes\r
-//\r
-EFI_STATUS\r
-EFIAPI\r
-WaitForTick (\r
-  IN EFI_METRONOME_ARCH_PROTOCOL  *This,\r
-  IN UINT32                       TickNumber\r
-  );\r
+#include "Metronome.h"\r
 \r
 //\r
 // Handle for the Metronome Architectural Protocol instance produced by this driver\r
@@ -53,10 +34,13 @@ EFI_HANDLE  mMetronomeHandle = NULL;
 //\r
 EFI_METRONOME_ARCH_PROTOCOL mMetronome = {\r
   WaitForTick,\r
-  1            // TickPeriod = 1*100 ns units\r
+  1  // TickPeriod = 1*100 ns units\r
 };\r
 \r
 /**\r
+  Waits for the specified number of ticks.\r
+  \r
+  This function implements EFI_METRONOME_ARCH_PROTOCOL.WaitForTick().\r
   The WaitForTick() function waits for the number of ticks specified by \r
   TickNumber from a known time source in the platform.  If TickNumber of \r
   ticks are detected, then EFI_SUCCESS is returned.  The actual time passed \r