## @file | |
# This module produces the Metronome Architectural Protocol on top of Timer Library. | |
# | |
# This is a generic implementation of the Metronome Architectural Protocol that | |
# layers on top of an instance of the Timer Library. The Timer Library provides | |
# functions for nanosecond and microsecond delays. This generic implementation | |
# produces a fixed TickPeriod of 100ns unit, and when the WaitForTick() service | |
# is called, the number of ticks passed in is converted to either nanosecond or | |
# microsecond units. If the number of ticks is small, then nanoseconds are used. | |
# If the number of ticks is large, then microseconds are used. This prevents | |
# overflows that could occur for long delays if only nanoseconds were used and also | |
# provides the greatest accuracy for small delays. | |
# | |
# Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR> | |
# SPDX-License-Identifier: BSD-2-Clause-Patent | |
# | |
## | |
[Defines] | |
INF_VERSION = 0x00010005 | |
BASE_NAME = Metronome | |
MODULE_UNI_FILE = Metronome.uni | |
FILE_GUID = C8339973-A563-4561-B858-D8476F9DEFC4 | |
MODULE_TYPE = DXE_DRIVER | |
VERSION_STRING = 1.0 | |
ENTRY_POINT = InstallMetronome | |
# | |
# The following information is for reference only and not required by the build tools. | |
# | |
# VALID_ARCHITECTURES = IA32 X64 EBC | |
# | |
[Packages] | |
MdePkg/MdePkg.dec | |
[LibraryClasses] | |
UefiDriverEntryPoint | |
UefiBootServicesTableLib | |
TimerLib | |
DebugLib | |
[Sources] | |
Metronome.c | |
Metronome.h | |
[Protocols] | |
gEfiMetronomeArchProtocolGuid ## PRODUCES | |
[Depex] | |
TRUE | |
[UserExtensions.TianoCore."ExtraFiles"] | |
MetronomeExtra.uni |