1## @file
2# This module produces the Metronome Architectural Protocol on top of Timer Library.
3#
4# This is a generic implementation of the Metronome Architectural Protocol that
5# layers on top of an instance of the Timer Library.  The Timer Library provides
6# functions for nanosecond and microsecond delays.  This generic implementation
7# produces a fixed TickPeriod of 100ns unit, and when the WaitForTick() service
8# is called, the number of ticks passed in is converted to either nanosecond or
9# microsecond units.  If the number of ticks is small, then nanoseconds are used.
10# If the number of ticks is large, then microseconds are used.  This prevents
11# overflows that could occur for long delays if only nanoseconds were used and also
12# provides the greatest accuracy for small delays.
13#
14# Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.<BR>
15# This program and the accompanying materials
16# are licensed and made available under the terms and conditions of the BSD License
17# which accompanies this distribution.  The full text of the license may be found at
18# http://opensource.org/licenses/bsd-license.php
19#
20# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
21# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
22#
23##
24
25[Defines]
26  INF_VERSION                    = 0x00010005
27  BASE_NAME                      = Metronome
28  MODULE_UNI_FILE                = Metronome.uni
29  FILE_GUID                      = C8339973-A563-4561-B858-D8476F9DEFC4
30  MODULE_TYPE                    = DXE_DRIVER
31  VERSION_STRING                 = 1.0
32  ENTRY_POINT                    = InstallMetronome
33
34#
35# The following information is for reference only and not required by the build tools.
36#
37#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
38#
39
40[Packages]
41  MdePkg/MdePkg.dec
42
43[LibraryClasses]
44  UefiDriverEntryPoint
45  UefiBootServicesTableLib
46  TimerLib
47  DebugLib
48
49[Sources]
50  Metronome.c
51  Metronome.h
52
53[Protocols]
54  gEfiMetronomeArchProtocolGuid      ## PRODUCES
55
56[Depex]
57  TRUE
58
59[UserExtensions.TianoCore."ExtraFiles"]
60  MetronomeExtra.uni
61