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 - 2018, Intel Corporation. All rights reserved.<BR> 15# SPDX-License-Identifier: BSD-2-Clause-Patent 16# 17## 18 19[Defines] 20 INF_VERSION = 0x00010005 21 BASE_NAME = Metronome 22 MODULE_UNI_FILE = Metronome.uni 23 FILE_GUID = C8339973-A563-4561-B858-D8476F9DEFC4 24 MODULE_TYPE = DXE_DRIVER 25 VERSION_STRING = 1.0 26 ENTRY_POINT = InstallMetronome 27 28# 29# The following information is for reference only and not required by the build tools. 30# 31# VALID_ARCHITECTURES = IA32 X64 EBC 32# 33 34[Packages] 35 MdePkg/MdePkg.dec 36 37[LibraryClasses] 38 UefiDriverEntryPoint 39 UefiBootServicesTableLib 40 TimerLib 41 DebugLib 42 43[Sources] 44 Metronome.c 45 Metronome.h 46 47[Protocols] 48 gEfiMetronomeArchProtocolGuid ## PRODUCES 49 50[Depex] 51 TRUE 52 53[UserExtensions.TianoCore."ExtraFiles"] 54 MetronomeExtra.uni 55