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