mirror of https://github.com/acidanthera/audk.git
OvmfPkg/Tcg2ConfigPei: skip TPM-1.2 detection when building for ARM/AARCH64
Dating back to commitsf5cb376703
andddd34a8183
, the "ArmVirtPkg/ArmVirtQemu.dsc" platform includes the "OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf" module when the TPM2_ENABLE build flag is defined. This was regressed in commit8923699291
, which added a Tpm12DeviceLib dependency to Tcg2ConfigPei. "ArmVirtQemu.dsc" does not resolve that class to any instance, so now we get a build failure: > build.py... > ArmVirtPkg/ArmVirtQemu.dsc(...): error 4000: Instance of library class > [Tpm12DeviceLib] is not found > in [OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf] [AARCH64] > consumed by module [OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf] The TPM-1.2 code in OvmfPkg/Tcg2ConfigPei is limited to a special use case (a kind of physical TPM-1.2 assignment), and that has never applied to "ArmVirtQemu.dsc". Short-circuit the TPM-1.2 detection in the ARM/AARCH64 builds of OvmfPkg/Tcg2ConfigPei, removing the Tpm12DeviceLib dependency. Functionally, this patch is a no-op on IA32 / X64. Cc: Ard Biesheuvel <ard.biesheuvel@arm.com> Cc: Eric Auger <eric.auger@redhat.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Marc-André Lureau <marcandre.lureau@redhat.com> Cc: Philippe Mathieu-Daudé <philmd@redhat.com> Cc: Simon Hardy <simon.hardy@itdev.co.uk> Cc: Stefan Berger <stefanb@linux.ibm.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2728 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20200520225841.17793-4-lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@arm.com> Tested-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
This commit is contained in:
parent
fc72a6ceaa
commit
74f90d38c4
|
@ -21,9 +21,14 @@
|
|||
|
||||
[Sources]
|
||||
Tcg2ConfigPeim.c
|
||||
Tpm12Support.c
|
||||
Tpm12Support.h
|
||||
|
||||
[Sources.IA32, Sources.X64]
|
||||
Tpm12Support.c
|
||||
|
||||
[Sources.ARM, Sources.AARCH64]
|
||||
Tpm12SupportNull.c
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
MdeModulePkg/MdeModulePkg.dec
|
||||
|
@ -35,9 +40,11 @@
|
|||
BaseLib
|
||||
DebugLib
|
||||
PeiServicesLib
|
||||
Tpm12DeviceLib
|
||||
Tpm2DeviceLib
|
||||
|
||||
[LibraryClasses.IA32, LibraryClasses.X64]
|
||||
Tpm12DeviceLib
|
||||
|
||||
[Guids]
|
||||
gEfiTpmDeviceSelectedGuid ## PRODUCES ## GUID # Used as a PPI GUID
|
||||
gEfiTpmDeviceInstanceTpm20DtpmGuid ## SOMETIMES_CONSUMES
|
||||
|
|
|
@ -15,6 +15,10 @@
|
|||
/**
|
||||
Detect the presence of a TPM with interface version 1.2.
|
||||
|
||||
@retval EFI_UNSUPPORTED The platform that includes this particular
|
||||
implementation of the function does not support
|
||||
TPM-1.2.
|
||||
|
||||
@retval EFI_SUCCESS TPM-1.2 available. The Tpm12RequestUseTpm() and
|
||||
Tpm12SubmitCommand(TPM_ORD_GetTicks) operations
|
||||
(from the Tpm12DeviceLib class) have succeeded.
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
/** @file
|
||||
Null implementation of InternalTpm12Detect(), always returning
|
||||
EFI_UNSUPPORTED.
|
||||
|
||||
Copyright (C) 2020, Red Hat, Inc.
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
|
||||
#include "Tpm12Support.h"
|
||||
|
||||
/**
|
||||
Detect the presence of a TPM with interface version 1.2.
|
||||
|
||||
@retval EFI_UNSUPPORTED The platform that includes this particular
|
||||
implementation of the function does not support
|
||||
TPM-1.2.
|
||||
**/
|
||||
EFI_STATUS
|
||||
InternalTpm12Detect (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
Loading…
Reference in New Issue