Metronome
Index: 0082 (82)
Size: 4512 bytes (PE32+ body)
Phase: DXE (Driver eXecution Environment)
Subsystem: EFI_BOOT_SERVICE_DRIVER (0x0B)
Overview
UEFI Metronome Architectural Protocol Driver. Implements the EFI_METRONOME_ARCH_PROTOCOL using the 8254 PIT (Programmable Interval Timer) channel 2 and the CPU TSC (RDTSC instruction) for microsecond-granularity busy-wait loops. Installs the Metronome protocol onto a new protocol handle, initializes PIT channel 2 in rate-generator mode, and provides the MicrosecondDelay() function which converts microseconds to PIT ticks and spins on TSC-delta.
Key Functions
- MetronomeInitialize -- Module entry point; initializes 8254 PIT channel 2 and installs the Metronome protocol
- MetronomeWait -- EFI_METRONOME_ARCH_PROTOCOL.Wait() implementation; busy-waits for the specified number of 100ns units using TSC-based delay
- MicrosecondDelay -- Internal helper that converts microseconds to PIT tick count and spins on TSC delta until the delay elapses
Protocols / Dependencies
- EFI_METRONOME_ARCH_PROTOCOL (gEfiMetronomeArchProtocolGuid) -- {0x1eb29c1c, 0x3570, 0x434d, {0xae, 0x0f, 0xbf, 0xcb, 0x19, 0x62, 0x91, 0x2b}}
- 8254 PIT (Programmable Interval Timer) -- Channel 2 in rate-generator mode for tick generation
- CPU TSC (RDTSC) -- High-resolution cycle counter for microsecond-granularity busy-wait
- UEFI Boot Services -- Protocol installation and event management
HR650X BIOS, x86-64 architecture. Module originates from MdeModulePkg/Universal/Metronome (EDK2). Copyright (c) 2006-2019, Intel Corporation.