edk2/OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib.inf
Jakov Zauzolkov 1506c6da7b OvmfPkg: Replace BaseAcpiTimerLib with BaseRomAcpiTimerLib in PEI
The BaseAcpiTimerLib instance contains a static global variable,
'mAcpiTimerIoAddr', that caches the ACPI timer IO base address. As this
library executes during PEI phase prior to the PEIFV measurement into
PCR0, the value of the variable is included into the measurement. This
causes the PEIFV binary footprint to change, preventing a precomputation
of the expected value needed for remote attestation.

Fix this by using the BaseRomAcpiTimerLib in the PEI phase instead of
the BaseAcpiTimerLib. This library dynamically computes the required
address and does not introduce global variables, keeping the PEIFV
binary unchanged.

Co-authored-by: Simon Ott <simon.ott@aisec.fraunhofer.de>
Signed-off-by: Jakov Zauzolkov <jakov.zauzolkov@aisec.fraunhofer.de>
2026-07-20 12:18:38 +00:00

31 lines
647 B
INI

## @file
# BaseRom ACPI Timer Library Instance.
#
# Copyright (c) 2008 - 2010, Intel Corporation. All rights reserved.
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = BaseRomAcpiTimerLib
FILE_GUID = CDD9D74F-213E-4c28-98F7-8B4A167DB936
MODULE_TYPE = BASE
VERSION_STRING = 1.0
LIBRARY_CLASS = TimerLib|SEC PEI_CORE PEIM
CONSTRUCTOR = AcpiTimerLibConstructor
[Sources]
AcpiTimerLib.c
AcpiTimerLib.h
BaseRomAcpiTimerLib.c
[Packages]
MdePkg/MdePkg.dec
OvmfPkg/OvmfPkg.dec
[LibraryClasses]
BaseLib
PciLib
IoLib