mirror of
https://github.com/tianocore/edk2
synced 2026-08-27 00:23:19 -04:00
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>
31 lines
647 B
INI
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
|